首頁 >web前端 >html教學 >求助,关于<li>宽度控制的问题_html/css_WEB-ITnose

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

WBOY
WBOY原創
2016-06-21 09:47:231401瀏覽

HTML页面设计 网页布局

  • 标签的使用 这个是我网页表示层的部分代码:
    <body><form id="form1" ><div><ul style="width: 100%"><li style="width: 40%">abc</li><li style="width: 40%">def</li><li style="width: 20%">ghi</li></ul></div></form><body>

    我的想法是让这三个列表项处在同一行,可是三个列表项并不在同一水平行。含有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的默认属性。

  • 陳述:
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn