html - 如何将基于百分比的值应用于子元素?

标签 html css

我有一个流畅的标题布局,它几乎完全基于类似的百分比值(宽度、填充、边距)

<header>
    <ul>
        <li>Foo</li>
        <li>
            <h4>Foo2</h4>
            <ul>
                <li>Underfoo</li>
                <li>Underfoo2</li>
                <li><img src="superimage.jpg"/></li>
            </ul>
        </li>
        <li>Foo3</li>
    </ul>
</header>

还有这样的造型

header{
width:100%;
}
header ul{
width:100%;
}

header ul li{
width:33.3%
display:inline-block;
vertical-align:top;
margin:0;
padding:0;
box-sizing:border-box;
}

好了到此为止。但是如果我想将基于百分比的值应用于依赖于它们的父元素的嵌套元素,这是行不通的。因此,如果我这样做:

header ul li ul li{
width:33.33%
padding:0 15%;
}

我得到的元素是 33.3% 宽的标题容器而不是父 li 容器,与填充相同。所以我现在当然可以使 33.3/3 = 11.1% 宽度,这就是我想要的结果,但这似乎很奇怪。我在那里做错了什么?

谢谢

最佳答案

你需要这样写子选择器

 header > ul > li{

 header > ul > li ul li{

请记住将边框框应用于所有元素,因为您正在使用填充

关于html - 如何将基于百分比的值应用于子元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32350416/

相关文章:

html - 如何以两种方式切割 div 以保持对象居中?

javascript - 将 css 计算的背景图像保存为变量或对象供以后使用

javascript - HTML 表单 onsubmit 有时仅起作用

javascript - 文本总是在 slider 后面移动

php - 处理动态站点中图像的数据 URI

javascript - 使用单引号与不使用引号的函数调用

html - 如何复用和重写 Css 样式?

html - PC 中的字体可以在在线网站中使用吗?

JavaScript 显示加载程序直到加载下一页内容

javascript - innerHTML 不更新 DOM