html5中文学习网

您的位置: 首页 > 网页制作 > css教程 » 正文

水平居中块级元素较好的实现_CSS教程_CSS_网页制作

[ ] 已经帮助:人解决问题
点评:block level的元素的宽度默认等于父元素的宽度,这样的话内容将从黄色左边界开始显示. 且设置text-align: center; 只能将文字居中而无法将背景图片居中且显示在文字的左边
 MtJHTML5中文学习网 - HTML5先行者学习网
MtJHTML5中文学习网 - HTML5先行者学习网
如上图所示,要做图中黄色区域的到期提醒,要求提醒的内容(提醒的内容是指黄色背景上的图标和文字)居中显示。 MtJHTML5中文学习网 - HTML5先行者学习网
MtJHTML5中文学习网 - HTML5先行者学习网
我将图中的惊叹号标识做为提醒内容的背景图片处理, 而这就要求内容区有一个高度,所以内容区必须是block-level的。 但block level的元素的宽度默认等于父元素的宽度,这样的话内容将从黄色左边界开始显示. 且设置text-align: center; 只能将文字居中而无法将背景图片居中且显示在文字的左边。 MtJHTML5中文学习网 - HTML5先行者学习网
MtJHTML5中文学习网 - HTML5先行者学习网
之前想的一个做法: MtJHTML5中文学习网 - HTML5先行者学习网
MtJHTML5中文学习网 - HTML5先行者学习网
给内容区 设置一个width, 然后 margin: 0 auto; 然后背景定位在内容的左边再设一个padding-left即可。这种做法的缺点是不灵活,一旦文字有变化或背景图片大小要变就需要改动样式表。 MtJHTML5中文学习网 - HTML5先行者学习网
MtJHTML5中文学习网 - HTML5先行者学习网
较好的实现: MtJHTML5中文学习网 - HTML5先行者学习网
MtJHTML5中文学习网 - HTML5先行者学习网
将内容区display: inline-block, 背景图的设置跟dispaly:block时一样,即background-position: left; padding-left: 50px; 即可。然后黄色区 text-align: center; 完整代码如下: MtJHTML5中文学习网 - HTML5先行者学习网

复制代码
代码如下:
MtJHTML5中文学习网 - HTML5先行者学习网
<!-- 使用天数小于等于30天时显示‘即将到期’ --> MtJHTML5中文学习网 - HTML5先行者学习网
<div class="almost-expire-tip"> MtJHTML5中文学习网 - HTML5先行者学习网
<div class="almost-expire-tip-content">您的帐户即将到期,为方便您的使用,请尽快与能力天空销售联系。联系电话:4006164080</div> MtJHTML5中文学习网 - HTML5先行者学习网
</div> MtJHTML5中文学习网 - HTML5先行者学习网
MtJHTML5中文学习网 - HTML5先行者学习网
在CODE上查看代码片派生到我的代码片 MtJHTML5中文学习网 - HTML5先行者学习网

复制代码
代码如下:
MtJHTML5中文学习网 - HTML5先行者学习网
.almost-expire-tip { width: 100%; height: 68px; line-height: 68px; background: #FC0; text-align: center; } MtJHTML5中文学习网 - HTML5先行者学习网
.almost-expire-tip-content { display:inline-block; *display:inline; *zoom:1; padding-left: 50px; background: #FC0 url(http://www.ablesky-a.com:8080/ableskystatics/images/organizationAdmin/sprite_ico.png) no-repeat 0 -70px; font-size: 22px; } MtJHTML5中文学习网 - HTML5先行者学习网
MtJHTML5中文学习网 - HTML5先行者学习网
背景图片垂直方向的-70px是因为使用了css sprite合并了图片。
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助