display:inline-block是不是有个默认的宽度?

科技佬 2015-10-22 10:59:30
今天做网页,使用ul li布局,开始li的属性是display:inline-block,我使用js给li个宽度,再用这个宽度算出ul的总宽度。按正常情况,li元素应该可以刚好排成一排。但事实是,最后一个li却被挤下来了。然后我给li属性设为float:left;,这样就刚好是一排了。而且使用float:left;之后,明显可以看到,元素向左一移了一点。按理说,我给每个li元素设好宽度和又边距之后是没有多余的宽度来让浮动破坏了啊!所以我就怀疑display:inline-block;是不是默认有宽度啊?
...全文
529 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
标签不要换行 试试
看着是个昵称 2018-11-28
  • 打赏
  • 举报
回复
display:inline-block,默认会有空隙存在,需要把设置这个属性的标签设置font-size:0;里面的字体大小在单独设置
天际的海浪 2018-11-07
  • 打赏
  • 举报
回复
inline-block是行内块元素,也属于行内元素,在html源代码中两个行内元素之间如果有空格或换行就会多产生一个空格符。 如html源代码中: <p>A B</p> 页面输出 A B A和B之间产生了一个空格符 你把li元素之间的空格和换行都去掉就可以了。 也可以把ul的font-size设置为0,li的font-size另设
飞鸟骑士 2018-11-07
  • 打赏
  • 举报
回复
这个是浏览器默认把换行符渲染成一个小空格了,你不让<li>换行 让他们紧挨着就不会这样了,或者用其他方法,比如加浮动,或者设置font-size:0;等
lvding89 2015-10-23
  • 打赏
  • 举报
回复
ul还是li其实有个默认的左外边距,如果没有reset的样式就会发现这点,不知道是不是你遇到的问题.另外手机网站浮动比较坑,实机测试的时候不同游览器不同效果 所以面对移动端如果需要浮动,我觉得用table更方便一些
香蕉猪 2015-10-23
  • 打赏
  • 举报
回复
不知道楼主放的图想说什么。。。
科技佬 2015-10-22
  • 打赏
  • 举报
回复

39,084

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧