我的网站上有两个div,一个是左侧,另一个是右侧。
但客户说不要使用float:right
。所以我使用了margin:left
不使用float:right
的优点是什么? margin-left
或float:right
,
或者我错了?请帮帮我。
#left
{
float:left;
width:200px;
}
#right
{
float:right;
width:200px;
}
或
#left
{
float:left;
width:200px;
}
#right
{
margin-left:250px;
width:200px;
}
答案 0 :(得分:4)
我想这与标记的顺序有关。原则上,你应该首先编写所有的标记,所以没有任何css就有意义,然后再添加css规则。
如果您需要移动标记以满足css条件,则可能会损害搜索引擎优化,可访问性或可读性以及清晰的代码结构。
如果你正确地浮动某些东西,有时你需要将元素放在标记的第一位,即使它在视觉上是第二位。
这当然是猜测,正如Marcus Aurelius在他的书冥想中写到的那样 - 或多或少浪费时间试图理解另一个人(在这种情况下是你的客户),因为你永远无法真正成功,只有傻瓜你自己认为你完全理解他们和他们的动机。相反,你应该关注自己确保自己的动机和行动是正确的 - 所以要确保你知道什么时候和什么时候不要左右浮动东西(你现在正在做的事情),并揭示这些真相到你的客户。
答案 1 :(得分:3)
实际上,如果您在第二个div中使用float:left;
而第二个div 将立即在第一个div 之后开始。
像这样: - http://tinkerbin.com/FfuvHZw4
如果您在第二个div中使用float:right
,则第二个div 将从父div或正文的右侧开始。
答案 2 :(得分:3)
嗯,使用float没有错:对; 也许你的客户对此有所了解。可能是一个发展问题。
答案 3 :(得分:3)
我能想到的唯一可能的“加号”是不使用float: right
的原因是它会导致向内浮动的内联元素以相反的顺序出现(除非父元素是浮动元素,在这种情况下,它的孩子将以正确的顺序出现)。因此,如果以特定顺序从数据库中提取内容(例如项目列表),则需要反转ORDER_BY
以使它们以所需顺序显示。与纯HTML元素的顺序相同。他们可能不希望您使用float: right
因为他们不想重构其他代码。
小提琴:http://jsfiddle.net/nxdD4/1/
这是我唯一能想到的。
答案 4 :(得分:0)
确定你不会因为询问而感到愚蠢,我会问你的客户。也许他们的理由还有你应该注意的其他含义,也许奥雷利乌斯的推理可能会不必要地牵扯你的双手,万一你的客户也不会考虑古代哲学。
我能想到的最可能的解释是,如果代码的顺序与呈现的顺序相同,则代码更容易更新(尽管我反驳说在CSS中使用正确的语义更为重要),代码将出现在包含其他代码的页面中,或者您的代码将由CMS生成,如果事物处于相同的序列中,其设置/管理更简单,可能已经脱离了上下文,或者某些善意的论坛受访者可能引用的不是相关来源。罗马皇帝从来都不会那么狡猾。