浮动后block元素的水平居中,与横版布局的长度自适应

今天介绍两个小技巧,与float,margin负值有关。

众所周知:
inline元素的水平居中可以用text-align:center;
block元素的水平居中可以用margin:0 auto; (设置宽度后,方显效果)。
block元素设置float:left;后,如果幸运,我们知道其确定的宽度值,则可以用left:50%;margin-left:-width/2;来实现。
那么,当我们不确定知道block具体要达到的宽度时,该如何办呢?
这种情况,常见于菜单栏居中,而因为某些原因,各个菜单项的宽度很难去确定,造成菜单栏宽度的不确定。
当然,我们也可以使用inline元素来嵌套菜单项(即使菜单项是block元素,也未尝不可),父级使用text-align:center;来居中。
而下面的方法也不错,值得吸收的小技巧。

 

下面介绍第二个简单的技巧。
它应用于横版布局的宽度自适应,因为我们同样不知道横版最终达到的宽度是多少。
尽管这种布局很少见,但里面的技巧其实用处很广。

 

里面的技巧其实就是个margin负值。
应用margin负值来完成预定的布局,往往有“柳暗花明”的效果。

/************** 额外奉送第三个小技巧 **************/
文本单行居中,多行居左的效果。