水平居中设置

如果被设置元素为文本、图片等行内元素时,水平居中是通过给父元素设置text-align:center来实现

满足定宽和块状两个条件的元素是可以通过设置“左右margin”值为“auto”来实现居中的

不定宽的块状元素居中有三种方法来实现。

方法一:

第一步:为需要设置居中的元素外面加入table标签(包括tbody,tr,td)

第二步:为table设置“左右margin居中

html代码

<div>

<table>

<tbody>

<tr><td>

<ul>

<li><a>1</a></li>

<li><a>2</a></li>

<li><a>3</a></li>

</ul>

</td></tr>

</tbody>

</table>

</div>

css代码

<style>

table{margin:0 auto;}

ul{list-style:none;margin:0;padding:0;}

li{float:left;display:inline;margin-right:8px;}

</style>

方法二:

第一步:改变块级元素的display为inline类型,然后使用text-align:center来居中

html代码

<body>

<div class="container">

<ul>

<li><a>1</a></li>

<li><a>2</a></li>

<li><a>3</a></li>

</ul>

</div>

</body>

css代码
<style>

.container{text-align:center}

.container ul{list-display:none; margin:0; padding:0; display:inline;}

.container li{margin-right:8px; display:inline;}

</style>

这种方法相比第一种方法的优势是不用增加无语义标签,简化了标签的嵌套深度,但也存在着一些问题:它将块状元素的 display 类型改为 inline,变成了行内元素,所以少了一些功能,比如设定长度值。

方法三:给父元素设置float,然后给父元素postion:relative和left:50%,自元素设置position:relative和left:-50%来实现水平居中

html代码

<body>
<div class="container">
<ul>
<li><a>1</a></li>
<li><a>2</a></li>
<li><a>3</a></li>
</ul>
</div>
</body>

css代码

<style>

.container{float:left; position:relative; left:50%;}

.container ul{list-display:none;margin:0;padding:0;position:relative;left:-50%;}
</style>

这种方法可以保留块状元素仍以 display:block 的形式显示,优点不添加无语议表标签,不增加嵌套深度,但它的缺点是设置了 position:relative,带来了一定的副作用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 好吧,被发现了,其实我在写学习笔记 水平居中设置 行内元素如果被设置元素为文本、图片等行内元素时,水平居中是通过给...
    傻小子不会起名字阅读 535评论 0 0
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,796评论 1 92
  • 一 外部式css样式 (也可称为外联式)就是把css代码写一个单独的外部文件中,这个css样式文件以“.css...
    KunMitnic阅读 960评论 0 1
  • 水平居中设置-行内元素 我们在实际工作中常会遇到需要设置水平居中的场景,比如为了美观,文章的标题一般都是水平居中显...
    CAICL阅读 474评论 0 3
  • 爱情是两个人融为一体的过程,永远不能达成,却用一生去贴紧。 恋爱,是一趟不知道结果的旅程。人有百态,想法千秋。有人...
    知道3阅读 889评论 0 1