2011-02-07 31 views
4

我正在继承一个网页。特别是试图实现一个print.css(到目前为止还没有任何print.css)。为什么<hr class =“hidden”/>?

此前开发商已经把在...

<hr class="hidden" /> 

主CSS的CSS因为这是(意料之中):

.hidden { 
    display: none; } 

...处分离点该页面的主要部分。想知道是否有人可以说为什么这可能有用?

没有单独的print.css,尽管有可能他打算实现一个并且耗尽时间。该页面设计得很好,所以我假设前面的人知道他在做什么。

+0

有这么多的可能性。也许这是一个心理笔记,也许以前有更多的CSS绑定到它,也许它是打算用于打印页面等等......没有办法知道没有问:) :) – 2011-02-07 10:57:11

+3

也可以为可访问性。例如,为视觉障碍者阅读页面的一些工具不关心CSS,但是知道逻辑分节符是重要的。 – Leigh 2011-02-07 11:01:27

+0

我猜谁都不知道,但是写这个的开发者会知道答案,所以这就是我的想法:A.他可能使用JS来改变类或什么; B.这可能是后来的补充,就像有人在客户不想要该功能后发表评论意见; C.一种形式的复活节彩蛋(尽管效率低下),将网页“签名”为他的工作。 D.不太可能,但也许原本应该有另一个CSS覆盖这个,但项目被关闭。 E.一种破坏搜索引擎网页的方式?如果评级遭受隐藏元素的影响。 – AlexanderMP 2011-02-07 11:01:40

回答

4

确实很可能他希望页面的打印版本在那里有一条水平线。在那个CSS中,他可能会将“隐藏”类定义为“display:inline”。

2

我认为那个高贵的人想要只为打印版本添加可见的<hr>,并且在浏览器视图<hr>是没有必要的。

0

那么,一个原因可能只是减少页面的大小。如果你有很多元素,你可以节省一些字符。

<hr class="hidden" /> 
<hr style="display: none;" /> 

另一个原因可能仅仅是一种编码风格有过的所有样式的控制在一个文件中,而不是用内嵌的样式去。或者计划在稍后使用印刷版。有很多原因是可能的。

3

那么,即使它们不可见,我认为HRs仍然可以作为分隔符用于它们的语义。但是,这有点奇怪。也许他打算让他们出版印刷品,以避免出现大量文字。

有没有任何HRs 都不是隐藏?看看这些案例可能会给你更多的信息。考虑到他在课堂上做了这个,这可能意味着这些例外,不过某种程度上,这可能意味着这是例外,因为他可以通过hr {display:hidden;}

0

看起来他/她可能预计会被要求摆脱的横向规则,所以积极地把隐藏的课堂放在他们身上。

这就是说,没有必要这样做,就像简单hr {display:none; }就足够了。但后来我看到一些优秀的设计师对一大堆没有必要的课程感兴趣。

另外,这是一个意外,它打算进入print.csss文件,所以水平规则不会被打印。

谁知道?这是一个谜!

1

我可以假设的唯一的事情是他把hrs放在那里,以便它们出现在没有呈现css的浏览器上;通常类似WebbIE。如果你关闭浏览器的CSS

其他原因,我能想到的是,他正在测试他们肯定会看到 - 它更容易注释掉对CSS的display:none;线而不是手动删除了所有的小时。最后,他决定不使用小时,但他忘了删除它们,或者只是有点懒。

1

试图理解应用于以下代码片段的标记/样式背后的原因。 Sample as Originally Found in the Wild是在<hr />中显示background-image的跨浏览器兼容示例。在这种情况下,style="display:none"<hr />元素本身上声明,用于显示背景图像以代替线或边界。下面是相关的HTML/CSS:

HTML:

<div class="hr"> 
    <hr /> 
</div> 

CSS:

div.hr { 
    height: 15px; 
    background: #fff url(hr1.gif) no-repeat scroll center; 
} 
div.hr hr { 
    display: none; 
} 
0

配售标题与类的 '隐藏' 和剪辑或显示:无内各个标签据说是一种很好的做法。它被称为“文档大纲”,它应该与html5一起使用。主要目的是更好地告知搜索爬虫关于网站内容的信息。