好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

纯CSS+DIV轻松解决对象在任何位置上水平对齐的问题_html/css_WEB-ITnose

div css

其实今天咱们要讨论的话题并非是什么先进技术,而是针对前端开发者经常碰见的“老朋友”而提出个人的一些设计心得:对象水平对齐。

众所周知,如果想将文本和图片实现水平居中效果,直接用CSS样式 text-align: center 即可实现,但如果要对任一对象(基本可视为DIV对象)采取同一方法,是完全不见效的。之前在“图层对象绝对居中”一文中也提到,用纯CSS来实现的原理就是利用left:50%,top:50%,margin-top:-height()/2,margin-left:-width()/2。类似地,将要实现水平居中的对象(文本、图片、flash,甚至DIV均可)加入两个“外壳”DIV。其中最外层的CSS设置为 FLOAT: left; right: 50%; position: relative; 而里层的则设置为 float: left; overflow: visible; left: 50%; position: relative; 就这么简单就可以轻松实现了对象的水平居中效果。

当然,上面所说的只是最基本、最简化的实例,但在实际应用中往往会掺和相对复杂的排版布局。其中最常见的当然是九格宫应用。打个比方,如果页面的水平布局是三栏组成的,其中左右两栏是规定宽度的,中间栏会自动根据屏幕宽度来自适应。那么这时候该如何设计才能既使中间栏自适应宽度,同时又能使中间栏的内容实现水平居中呢?

这里就得穿插另一个排版布局的技巧了:左右两栏固定宽度,中间栏自适应屏幕宽度而变化。举个实例吧??

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">




左右两栏固定,中间栏自适应屏幕宽度


#left {
float: left;
width: 200px;
background-color: #FFC;
height: 120px;
}
#right {
float: right;
width: 180px;
background-color: #CFC;
height: 120px;
}
#mid {
margin-right: 180px;
margin-left: 200px;
background-color: #CCC;
height: 120px;
}
-->



查看更多关于纯CSS+DIV轻松解决对象在任何位置上水平对齐的问题_html/css_WEB-ITnose的详细内容...

  阅读:28次