li的水平排列问题
来源:互联网 发布:ubuntu查看硬盘大小 编辑:程序博客网 时间:2024/06/05 08:22
涅槃总是痛苦的,什么都得重新开始。
最近在开始转前端,学习css。在li水平排列时遇到了几个问题,把解决方法记录下来。什么不多说,开始上代码。
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"><title>li水平排列</title><style>html{font-size: 20px;}@media only screen and (min-width: 320px){ html{font-size: 20px !important;}}@media only screen and (min-width: 350px){ html{font-size: 22.5px !important;}}@media only screen and (min-width: 365px){ html{font-size: 23px !important;}}@media only screen and (min-width: 375px){ html{font-size: 23.5px !important;}}@media only screen and (min-width: 390px){ html{font-size: 24.5px !important;}}@media only screen and (min-width: 400px){ html{font-size: 25px !important;}}@media only screen and (min-width: 428px){ html{font-size: 26.8px !important;}}@media only screen and (min-width: 432px){ html{font-size: 27.4px !important;}}@media only screen and (min-width: 481px){ html{font-size: 30px !important;}}@media only screen and (min-width: 569px){ html{font-size: 35px !important;}}@media only screen and (min-width: 569px){ html{font-size: 40px !important;}}body{margin: 0;padding: 0;}ul{width: 100%;margin: 0.3rem 0;padding:0.3rem 0;border-top:0.05rem solid #ccc;border-bottom: 0.05rem solid #ccc;}li{width: 33%;list-style-type: none;display:inline-block;font-size: 0.8rem;border-left: 0.05rem solid #ccc;text-align: center;}</style></head><body><ul><li>我是第一个li</li><li>我是第二个li</li><li>我是第三个li</li></ul></body></html>
这样会有一个问题给li的宽度设置为33%,三个li标签的宽度居然超过了一行,有一点很明显就是li标签直接多了一点空白。
一、浮动
首先想到的是浮动,给li增加样式float:left。
效果如上,这样的方式,浮动会有一个问题,就是li的浮动使得ul的高度为0,解决这问题,有三种方法:
1、给ul增加height高度,但是这样不能做到自适应。
2、清楚浮动的影响,在最后的li标签后面增加一个空的div,<div style="clear:both;">(个人推荐,但是觉得代码维护上也不是很好。)
3、对ul增加zoom属性,貌似只适应与ie(我没研究)。
二、将li标签写成一行
<ul>
<li>我是第一个li</li><li>我是第二个li</li><li>我是第三个li</li>
</ul>
很奇怪为什么这样就正常了,暂时很难理解。
三、给ul增加样式去掉li标签之间空白
给ul增加font-size:0样式可以去除li标签之间的空白。这样有点需要注意的就是需要重新设置li标签的字体大小。
总结下:首先给li标签增加样式display:inline-block,让它水平排列然后解决兼容问题。个人不推荐是否float的方法来解决问题,觉得第二种和第三种比较好。
0 0
- li的水平排列问题
- 解决ul li水平排列问题
- li水平排列居中显示
- 使得ul标签中的li水平排列
- li标签的横向排列
- ui li 横向排列 换行问题
- li图片列表排列错乱问题
- <ul><li></li></ul>之间的文字居中水平显示
- li的排列 inline-block的应用
- html中ul元素水平排列问题
- CSS中<li>标签横向排列出现间距问题
- CSS中<li>标签横向排列出现间距问题
- 使li水平布局的两种方法
- li标签水平布局时莫名其妙的间距
- RadioButtonList 选项的水平排列 自动换行
- RadioButtonList 选项的水平排列 自动换行
- 水平排列元素的底部对齐
- Bootstrap3 表单-水平排列的表单
- spring security 多登陆入口实现方式 以及对spring security认证流程的理解
- 端口和引脚的区别
- Lowest Common Ancestor of a Binary Search Tree
- svn常用概念总结
- 外部中断的使用
- li的水平排列问题
- linux基础之find初认识
- CSDN学院 免费技术答疑公开课,本周三场即将开播~~~
- 四则运算java版
- find the safest road 1596 (dijkstra变形,找最大值)
- [leetcode]Maximal Rectangle
- STM32系列ARM单片机介绍
- Oracle自定义函数示例
- Java, 基础(面试题)总结(分享-交流)