不使用浮动有什么好处:对吧?

时间:2012-08-06 09:40:59

标签: html css css-float

我的网站上有两个div,一个是左侧,另一个是右侧。 但客户说不要使用float:right。所以我使用了margin:left 不使用float:right的优点是什么? margin-leftfloat:right, 或者我错了?请帮帮我。

    

#left
{
float:left;
width:200px;
}
#right
{
float:right;
width:200px;
}

#left
    {
    float:left;
    width:200px;
    }
    #right
    {
    margin-left:250px;
    width:200px;
    }

5 个答案:

答案 0 :(得分:4)

我想这与标记的顺序有关。原则上,你应该首先编写所有的标记,所以没有任何css就有意义,然后再添加css规则。

如果您需要移动标记以满足css条件,则可能会损害搜索引擎优化,可访问性或可读性以及清晰的代码结构。

如果你正确地浮动某些东西,有时你需要将元素放在标记的第一位,即使它在视觉上是第二位。

这当然是猜测,正如Marcus Aurelius在他的书冥想中写到的那样 - 或多或少浪费时间试图理解另一个人(在这种情况下是你的客户),因为你永远无法真正成功,只有傻瓜你自己认为你完全理解他们和他们的动机。相反,你应该关注自己确保自己的动机和行动是正确的 - 所以要确保你知道什么时候和什么时候不要左右浮动东西(你现在正在做的事情),并揭示这些真相到你的客户。

答案 1 :(得分:3)

实际上,如果您在第二个div中使用float:left;第二个div 将立即在第一个div 之后开始。

像这样: - http://tinkerbin.com/FfuvHZw4

如果您在第二个div中使用float:right,则第二个div 将从父div或正文的右侧开始。

像这样: - http://tinkerbin.com/EgtjAJA1

答案 2 :(得分:3)

嗯,使用float没有错:对; 也许你的客户对此有所了解。可能是一个发展问题。

答案 3 :(得分:3)

我能想到的唯一可能的“加号”是不使用float: right的原因是它会导致向内浮动的内联元素以相反的顺序出现(除非父元素是浮动元素,在这种情况下,它的孩子将以正确的顺序出现)。因此,如果以特定顺序从数据库中提取内容(例如项目列表),则需要反转ORDER_BY以使它们以所需顺序显示。与纯HTML元素的顺序相同。他们可能不希望您使用float: right因为他们不想重构其他代码。

小提琴:http://jsfiddle.net/nxdD4/1/

这是我唯一能想到的。

答案 4 :(得分:0)

确定你不会因为询问而感到愚蠢,我会问你的客户。也许他们的理由还有你应该注意的其他含义,也许奥雷利乌斯的推理可能会不必要地牵扯你的双手,万一你的客户也不会考虑古代哲学。

我能想到的最可能的解释是,如果代码的顺序与呈现的顺序相同,则代码更容易更新(尽管我反驳说在CSS中使用正确的语义更为重要),代码将出现在包含其他代码的页面中,或者您的代码将由CMS生成,如果事物处于相同的序列中,其设置/管理更简单,可能已经脱离了上下文,或者某些善意的论坛受访者可能引用的不是相关来源。罗马皇帝从来都不会那么狡猾。