首页 > 开发 > CSS > 正文

水平居中块级元素较好的实现

2024-07-11 08:51:46
字体:
来源:转载
供稿:网友
 

如上图所示,要做图中黄色区域的到期提醒,要求提醒的内容(提醒的内容是指黄色背景上的图标和文字)居中显示。

我将图中的惊叹号标识做为提醒内容的背景图片处理, 而这就要求内容区有一个高度,所以内容区必须是block-level的。 但block level的元素的宽度默认等于父元素的宽度,这样的话内容将从黄色左边界开始显示. 且设置text-align: center; 只能将文字居中而无法将背景图片居中且显示在文字的左边。

之前想的一个做法:

给内容区 设置一个width, 然后 margin: 0 auto; 然后背景定位在内容的左边再设一个padding-left即可。这种做法的缺点是不灵活,一旦文字有变化或背景图片大小要变就需要改动样式表。

较好的实现:

将内容区display: inline-block, 背景图的设置跟dispaly:block时一样,即background-position: left; padding-left: 50px; 即可。然后黄色区 text-align: center; 完整代码如下:

复制代码
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表