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

WBOY
Release: 2016-06-21 09:47:23
Original
1348 people have browsed it

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>
    Copy after login

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

  • source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!