很对教程和网站中都会单独为一个float属性写一个类名,我一直不明白这样写有什么好处?
.left{
float:left;
}
然后把它添加到一个标签中,一个标签有两个类名这样,为什么不直接写的一个类中
很对教程和网站中都会单独为一个float属性写一个类名,我一直不明白这样写有什么好处?
.left{
float:left;
}
然后把它添加到一个标签中,一个标签有两个类名这样,为什么不直接写的一个类中
假如说你写了一些组件,比如说一个卡片嗯……
然后有时候你想让他正常显示你就放置play就好了,有时候你想让他并排显示,那么只要给他加一个.left就搞定了,比inline-style方便,还不用再去写一个新的类来实现这种样式
其实一个倒是无所谓,假设你有很多这种需求的话…嗯……
假如有一个元素
html
<div class="some">blablabla</div>
你希望用脚本来控制其 float,可能会这样写(用 jQuery)
javascript
if (someConditions) { $(".some").css("float", "left"); } eles { $(".some").css("float", "none"); }
但是如果用 class 的方式,就会这样
javascript
if (someConditions) { $(".some").addClass("left"); } else { $(".some").removeClass("left"); }
一般情况下来看,代码量差不多的,但是假如
html
<style type="text/css"> .special { float: right; } </style> <div class="special some">blabla</div>
如果用直接改CSS的方式,你不知道在 else
里应该 float: none
还是 float: right
,因为这里虽然是 float: right
但也许有别的 .some
是 float: none
呢,或者更极端的,有些 .some
本来就是 float: left
呢——这下完了,你取消不了这个 float: left
的样式了,因为你不知道如何恢复。如果用一个临时变量去保存原始样式,代码就长了。
但是,如果用 class 方式,完全 OK,代码一点不用改,几乎兼容各种情况。
重复调用.
例如两个结构一样的模块,一个需要左浮动,一个需要有浮动,或者不浮动,那就可以把浮动的类独立出来,在对应的模块上添加,而不用写在.news 类中。
<div class="news left">
左浮动模块
</div>
<div class="news right">
右浮动模块
</div>
<div class="news">
不浮动模块
</div>
除了浮动,其他模块化的一样,两个结构差不多的模块,也可以提取公共部分。
/*公用*/
.mod{}
.mod h2{}
/*私有*/
.mod-other{}
.mod-other h2{}
<div class="mod">
<h2></h2>
</div>
<div class="mod mod-other">
<h2></h2>
</div>
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
5 回答2.1k 阅读
1 回答3.4k 阅读✓ 已解决
当对float使用较多时,易于复用