如题:在给<li>标签 display:inline-block; 转换为行内块元素后,横向列表无法对其
如下:此处共用了7个li标签,其中2、4、6号<li>通过css样式使其呈现出分隔竖线的效果
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33HTML代码如下: <div class="fr"> <ul> <li>登录</li> <!-- 下方的li作为分割小竖线 --> <li></li> <li>注册</li> <li></li> <li>网站无障碍</li> <li></li> <li>微信公众号</li> </ul> </div> ---------------------------------------------------- 整体的<li>标签的CSS样式如下: .fr ul li { display: inline-block; /* float: left; */ vertical-align: top; } --------------------------------------------------- 偶数序号<li>标签的CSS样式如下: .fr ul li:nth-child(2n) { width: 1px; height: 16px; background-color: #666; margin: 9px 5px; }
产生原因如下:
由于display:inline-block 的属性中,存在用作分隔线的、本身没有内容的<li>行内块元素,整体的基线对齐方式就是基于这些这些分隔线<li>的底边。
解决方法:
法一:
给 .fr ul li:nth-child(2n) 或者 .fr ul li 样式增加一句 vertical-align: top; 即可实现所有行内块元素水平对齐。
法二:
将 .fr ul li 样式修改为左浮动,而非行内块
复制代码
1
2
3.fr ul li { float: left; }
效果图如下:
最后
以上就是孤独硬币最近收集整理的关于<li>标签 —— 转换为行内块后,横向列表无法对齐的全部内容,更多相关<li>标签内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复