Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如果您需要到处清除块,无表设计的好处是什么?_Html_Css_Semantic Markup - Fatal编程技术网

Html 如果您需要到处清除块,无表设计的好处是什么?

Html 如果您需要到处清除块,无表设计的好处是什么?,html,css,semantic-markup,Html,Css,Semantic Markup,我理解从转向标记的目标是有意义的,因为它更具语义。但是,如果您仍然需要一个清除块以使基于列的布局工作,我不理解这样做的好处。例如: <!-- Note: location-info & personal-info both float left. --> <div class="contact"> <div class="personal-info"> <p> Shawn, etc, etc

我理解从
转向
标记的目标是有意义的,因为它更具语义。但是,如果您仍然需要一个清除块以使基于列的布局工作,我不理解这样做的好处。例如:

<!-- Note: location-info & personal-info both float left. -->
<div class="contact"> 
    <div class="personal-info">
        <p>
           Shawn, etc, etc
        </p>
    </div>
    <div class="location-info">
        <p><address>etc</address></p>
    </div>
    <br style="clear:both" /> <!-- clearing block -->
 </div>


肖恩等


额外的

标记严格用于描述样式,并且是使布局正常工作所必需的。这难道不会毁掉从删除表中获得的所有好处吗?

如果我告诉你一个清除块怎么办

。清除块:在{
内容:“.”;
显示:块;
身高:0;
明确:两者皆有;
可见性:隐藏;
}
1.清堵{
显示:内联块;
}

你的内容在这里
这里有更多内容

一点也不。避免使用表还有很多其他好处


如果显示的是表格数据,那么使用表格比使用浮动div更有意义。明智地使用你拥有的工具——不要盲目地使用CSS,因为表格是最好的选择。

正如annakata的回答所示,你不需要那些清除块。但除此之外,避免使用表的一个优点是可以逐步呈现页面。只有在解析了整个表(包括其所有内容)后才能呈现表,如果页面较大且连接速度较慢,则可能需要一段时间。可以立即呈现div,这意味着您可以比使用表更快地向用户呈现可用的内容

当然,这只是一个小小的额外优势,它不是,也不应该成为避免使用表的原因(对于非表格数据)

我理解从
转向
标记的目标是有意义的,因为它更具语义

实际上,情况恰恰相反:从
移动到
会降低HTML的语义。事实上,(and)元素的全部要点是没有语义

当我看到一大堆被描述为“语义HTML”的
时,我总是很生气。不,不是!这就是非语义HTML!特别是如果它包含大量的
和我个人的最爱

不要误解我的意思,使用非语义的
s肯定比使用错误的语义
s要好,但更好的是使用语义正确的元素——尽管在许多情况下,问题是HTML不提供任何。例如,在代码段中,您使用了
,该元素不是用来标记地址的!它只是用来标记页面作者的地址——看样子它完全没有用

您发布的示例缺少很多上下文,因此很难说,但实际上您可能希望显示表格或层次数据,在这种情况下,
s或
s可能是更好的选择



与您的问题完全无关:您可能想看一下和微格式。

我个人使用clearfix黑客来满足我的清理需求

/*Clearfix*/
#内容:之后,,
.盒子:之后{
内容:‘’;
显示:块;
明确:两者皆有;
可见性:隐藏;
身高:0;
}
#内容,,
.盒子{
缩放:1;/*IE*/
}
注意,我只是用逗号分隔选择器,而不是将
clearfix
类添加到所有内容中。它工作得非常好。唯一的问题是
zoom
属性是IE特有的,无法验证,但是没有像其他属性那样的副作用,例如
overflow:auto


我已经在专业网站上使用了5年,没有任何问题。

我说的是在这种特定情况下,两栏布局的答案也适用于这种特定情况。使用现有资源比使用表格要好得多。这样你就有了1个无关的标签(大部分可以忽略),另一种方式你至少有10个不可忽略。此外,正如安娜卡塔的链接所示,这似乎是多余的。嘿,这也是真的,很高兴看到这个建议,这意味着人们在做正确的事情,大部分:)是真的,虽然我不认为桌子是这里最好的选择。这不是我所说的表格数据。只有OP会确切知道。对我来说,这听起来像是他试图在没有表格的情况下显示表格数据。我想你会发现,神奇的单词是“hasLayout”-在这三个链接中的任何一个上尝试IE6的ctrl+f。最终,Sie8摆脱了hasLayout的胡说八道。大约逾期10年了,但我们必须拿我们能得到的东西……:)值得一提的是,如果您正在显示表格数据(看起来是这样的),那么您仍然应该使用表。div-division有一定的意义。看看他的示例,它的语义要比基于表的等价物好得多。div表示包含的信息在语义上是相关的。诸如“个人信息”之类的类在语义上标识信息。你在这里所说的只是“如果你分配的类非常糟糕,并且使用了错误的标记,那么它就没有更多的语义了!