密通学院

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4187|回复: 0

ul内容自适应居中

[复制链接]

282

主题

27

回帖

8万

铜板

超级版主

Rank: 8Rank: 8

积分
89153
QQ
发表于 2019-2-16 12:07:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在开发过程中,想到一个问题,平时对块级元素居中的时候都是定义一个宽度然后简单的通过margin:0 auto;实现,但是如果内容增加,是不是每次都需要修改宽度呢。我觉得需要思考一个自适应内容,并居中的方案。
于是,我写了一个Demo去思索一下这个问题,并简单检验一下自己的想法。HTML代码如下:
  1. <div class='container'>
  2.     <ul class="clearfix">
  3.         <li><a href="javascript:void(0);"></a></li>
  4.         <li><a href="javascript:void(0);"></a></li>
  5.         <li><a href="javascript:void(0);"></a></li>
  6.     </ul>
  7. </div>
复制代码

这是一个非常简单的结构,也便于让大家了解我的方法。
CSS代码如下:
  1. .clearfix:after{
  2.     content:'';
  3.     visibility:hidden;
  4.     font-size:0;
  5.     height:0;
  6.     display:block;
  7.     clear:both;
  8. }

  9. .container{
  10.     width:100%;
  11.     text-align:center;         
  12. }

  13. ul{
  14.     display:inline-block;  
  15. }

  16. li{
  17.      float:left;
  18.      width:20px;
  19.      height:20px;
  20.      margin:0 20px;
  21.      -webkit-border-radius: 10px;
  22.      -moz-border-radius: 10px;
  23.      -o-border-radius: 10px;
  24.      border-radius: 10px;
  25.      cursor:pointer;
  26. }

  27. a{
  28.     display:block;
  29.     background-color:#000;
  30. }
复制代码

实现的效果如图:
QQ截图20190216120924.png
这实现思想是,先让ul定义 display:inline-block 属性,让其变成行内块级元素。
当ul成为行内块级元素后,它便有了行级元素的特性。
那么,重点来了。
只需要对ul的父级元素 .container 定义一个text-align:center;
效果便可以很明显的看到了。
更重点是,ul内的li的增减并不会对其位置造成偏移。
如果您有业务需求,可以和我联系:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

首页|Archiver|手机版|小黑屋|密通学院:专业网络营销服务商

GMT+8, 2024-12-28 02:02 , Processed in 0.125976 second(s), 33 queries QQ

Powered by XMT Inc. © 2015-2025 ArrayV1.0 豫ICP备17022382号

系统运营:密城通 豫公网安备 41018302000212 号

快速回复 返回顶部 返回列表