您的当前位置:首页正文

求助,关于<li>宽度控制的问题_html/css_WEB-ITnose

2020-11-27 来源:华拓教育

HTML页面设计 网页布局
  • 标签的使用

    这个是我网页表示层的部分代码:
     
    我的想法是让这三个列表项处在同一行,可是三个列表项并不在同一水平行。含有ghi的那个
  • 标签自动下移了新一行的左边。

    我后来设置了所有元素的border,padding,margin为none或者0,但结果还是开始一样显示的。
    我就是搞不明白,三个
  • 标签加起来的不正好是100%的width么?为什么会超过的width。我试了把最后一个
  • 标签的width改为19%,然后三个
  • 就是并列显示了。(注:我已经设置了
  • 的float为left了)。
    大家能给我指点一下吗? 谢谢了!


    回复讨论(解决方案)

    li是块级元素,是会自动往下排的,而不像p,img这类行级元素会直接连在后面,style里加上float:left; 这个属性就可以了,会变成漂浮元素进行漂浮排列,最后最好在所有

  • 后再加上一行清除漂浮,以免影响接下来的布局

    li是块级元素,是会自动往下排的,而不像p,img这类行级元素会直接连在后面,style里加上float:left; 这个属性就可以了,会变成漂浮元素进行漂浮排列,最后最好在所有

  • 后再加上一行清除漂浮,以免影响接下来的布局

    不好意思,没有注意到最后你已经漂浮了,既然是19%有问题,估计是哪个margin或者padding出问题,可能没检查出来,试试在样式里面加上一句 *{margin:0;padding:0} 呢

    假设ul在实际显示的时候宽度是789px,那么3个li标签的宽度分别是315.6px 315.6px 157.8px,应该是这个问题吧

    一些老版本的浏览器不会认识float类型的宽度,造成了误差。一般在写代码时,就要考虑padding和magin的默认属性。