块级元素(导航,图片,层)的水平和垂直居中

简介:
< DOCTYPE html PUBLIC -WCDTD XHTML TransitionalEN httpwwwworgTRxhtmlDTDxhtml-transitionaldtd>
BTN
#wrapper {
border:1px solid #ccc;
width:400px;
height:200px;
text-align:center;
line-height:200px;  // Vertical Align For IE7 & Firefox
_font-size:120px;  // Vertical Align For IE6
}
#wrapper a {
display:-moz-inline-block;  // For Firefox 2(-)
display:inline-block;  // For Firefox 3 & IE6, 对于IE6来说其实相当于zoom:1, 仅仅是给elem一个layout。
/ 注意:支持display:inline-block的浏览器有:Firefox3,Safari,Opera
margin:0 auto;  // For Firefox 2(-)
width:80px;
height:20px;
font:11px/20px arial;
background:red;
}




扩展(一): 水平居中的翻页元素
first  prev  1  2  3 ...  8  next  last
<div class="pager">
<a href="" class="first">first</a>
<a href="" class="prev">prev</a>
<a href="">1</a>
<strong>2</strong>
<a href="">3</a>
<span>...</span>
<a href="">8</a>
<a href="" class="next">next</a>
<a href="" class="last">last</a>
</div>
.pager {
width:800px;
border:1px dotted #ccc;
text-align:center;
}
.pager * {
display:-moz-inline-box;  // 此属性会造成text-align、text-indent等无效的问题,不建议使用。
-moz-box-align:center;  // 解决上个属性造成的text不能垂直居中的问题
display:inline-block;

padding:0 12px;
height:28px;
line-height:28px;
border:1px solid #ccc;
}
.pager span {
border-color:white;
padding:0 3px;
}
.pager strong {
border-color:red;
}
.pager .last {
background:red;
}

这种方法有个局限:因为使用了-moz-inline-box属性,所以不能设置text-align,text-indent。因此不能用background进行图片替换。






扩展(二):菜单的水平居中

<div id="menu">
<del>  // 非del莫属?!
<ul>
<li><a href="">Tab One</a></li>
<li><a href="">Tab Two: Longer</a></li>
<li><a href="">Tab Three: Longest</a></li>
<li><a href="">Tab Four</a></li>
</ul>
</del>
</div>
#menu {
border:1px dotted #ccc;
text-align:center;
}
#menu del {
display:inline-block;
text-decoration:none;
}
#menu ul {
display:table;
margin:0 auto;
}
#menu li {
display:table-cell;
*float:left;
}
#menu li a {
display:block;
width:160px;
background:gray;
margin:0 3px;
}

此方法来源:http://www.cssplay.co.uk/menus/centered.html






扩展(三):图片的垂直居中。(内联元素的垂直居中)
.box {

display: table-cell;
vertical-align:middle;

text-align:center;

*display:block;
*font-size: 180px;
*font-family:Arial;
width:200px;
height:200px;
border: 1px solid #eee;
}
.box img {
vertical-align:middle;
width:100px; height:30px;
}


本文转自 netcorner 博客园博客,原文链接: http://www.cnblogs.com/netcorner/archive/2009/01/09/2912086.html   ,如需转载请自行联系原作者

相关文章
|
3月前
|
前端开发 容器
css 中可以让文字在垂直和水平方向上重叠的两个属性是什么?
css 中可以让文字在垂直和水平方向上重叠的两个属性是什么?
|
4月前
|
前端开发 容器
如何实现一个两栏布局,右侧自适应?三栏布局中间自适应?
要实现一个两栏布局,右侧自适应的效果,可以使用 CSS 的 Flexbox 或 Grid 布局来实现。以下是使用 Flexbox 实现的示例:
35 1
|
7月前
|
前端开发
css如何让实现一个元素在网页中垂直水平居中
css如何让实现一个元素在网页中垂直水平居中
25 0
|
7月前
|
UED 容器
如何实现侧边两栏宽度固定,中间栏宽度自适应的布局?——双飞翼布局、圣杯(Holy Grails)布局
如何实现侧边两栏宽度固定,中间栏宽度自适应的布局?——双飞翼布局、圣杯(Holy Grails)布局
45 0
CSS3盒子居中模型,如何让盒子居中。
CSS3盒子居中模型,如何让盒子居中。
79 0
CSS3盒子居中模型,如何让盒子居中。
|
前端开发
CSS水平居中+垂直居中+水平/垂直居中的方法总结
CSS水平居中+垂直居中+水平/垂直居中的方法总结
182 0
CSS水平居中+垂直居中+水平/垂直居中的方法总结
|
前端开发 容器
移动端布局——flex布局下的居中对齐方式
Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。
259 0
移动端布局——flex布局下的居中对齐方式
认识盒子模型,盒子模型的边框、内外边距、水平布局、垂直布局、设置浮动、处理高度塌陷的基本方法(3,此节不全)
通过本章认识盒子模型,盒子模型的边框、内外边距、水平布局、垂直布局、设置浮动、处理高度塌陷的基本方法。
62 0
认识盒子模型,盒子模型的边框、内外边距、水平布局、垂直布局、设置浮动、处理高度塌陷的基本方法(2)
内边距会影响盒子的可见框的大小,元素的背景会延伸到内边距,盒子的大小由内容区、内边距和边框共同决定。外边距指的是当前盒子与其他盒子之间的距离,他不会影响可见框的大小,而是会影响到盒子的位置。
148 0
认识盒子模型,盒子模型的边框、内外边距、水平布局、垂直布局、设置浮动、处理高度塌陷的基本方法(2)
|
前端开发
认识盒子模型,盒子模型的边框、内外边距、水平布局、垂直布局、设置浮动、处理高度塌陷的基本方法(1)
网页是一个多层的结构,设置样式样式,也是一层一层的设置,最终我们看到的最上面的一层。
91 0
认识盒子模型,盒子模型的边框、内外边距、水平布局、垂直布局、设置浮动、处理高度塌陷的基本方法(1)

热门文章

最新文章