css - 当我为 UL 设置背景图像时,为什么当子元素已经设置了这些设置时我必须设置宽度和高度?

标签 css height width background-image html-lists

我正在学习有关使用 CSS 创建按钮的教程。 http://www.secondpicture.com/tutorials/web_design/css_ul_li_horizontal_css_menu.html

按钮的背景在 UL 元素中设置。我注意到,如果我删除 UL 元素的高度和宽度属性,背景图像就会消失,就好像 UL 大小变为零一样。从盒子模型的 Angular 来看,这对我来说没有意义。子元素 ( LI ) 具有设置的尺寸,应该相应地扩展 UL 的尺寸。谁能解释一下这是怎么回事?

    ul {
    list-style-type: none;
    background-image: url(navi_bg.png);
    height: 80px;
    width: 663px;
    margin: auto;
    }

最佳答案

<li> s 是 float 的,因此它们从导致 <ul> 的文档流中删除崩溃。

要像您期望的那样运行,请尝试添加 float: left;<ul>以及。

关于css - 当我为 UL 设置背景图像时,为什么当子元素已经设置了这些设置时我必须设置宽度和高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9441319/

相关文章:

html - 显示上方的空白区域 :inline-block divs

jQuery - 动态 div 高度等于整个窗口的高度

html - 如何使绝对定位父级的子级扩展其宽度?

html - css 加载不一致

css - 隐藏的链接在 Android 浏览器上仍然可以点击

javascript - jquery - 设置 float div 的动态等高

css - 宽度:继承减号(或加号)

java - 如何获取当前标签的宽度

jquery - 无法通过jquery获取ajax加载图像的高度和宽度

javascript - 悬停以显示兄弟元素,但轻弹