子元素用margin-top 为什么反而作用在父元素上?

 我来答
小甜甜爱亮亮
高粉答主

2018-04-04 · 说的都是干货,快来关注
知道大有可为答主
回答量:689
采纳率:98%
帮助的人:21.3万
展开全部

在这个说明中,“collapsing margins”(折叠margin)的意思是:2个或以上盒模型之间(关系可以是相邻或嵌套)相邻的margin属性(这之间不能有非空内容、padding区域、border边框
或使用清除分离方法)结合表示为一个单独的margin。

常用以下四种解决方法:

1、父元素设置 overflow:hidden;

2、父元素设置 padding-top:1px;

3、父元素设置 border-top:1px solid transparent;

4、父元素或子元素设置浮动 float:left; 或者绝对定位 position:absolute。

子元素说明:

与后代选择器相比,即只对直接后代有影响,而对“孙子”以及多个层的后代不产生作用。

选择子元素:

如果您不希望选择任意的后代元素,而是希望缩小范围,只选择某个元素的子元素,请使用子元素选择器(Child selector)。

例如,如果您希望选择只作为 h1 元素子元素的 strong 元素,可以这样写:

h1 >strong {color:red;} 这个规则会把第一个 h1 下面的 strong 元素变为红色,但是第二个 strong 不受影响:

<h1>This is <strong>very</strong> important.</h1> <h1>This is <em>really <strong>very</strong></em> important.</h1>

语法解释:

您应该已经注意到了,子选择器使用了大于号(子结合符)。

子结合符两边可以有空白符,这是可选的。因此,以下写法都没有问题:

h1 > strong h1> strong h1 >strong h1>strong 如果从右向左读,选择器 h1 > strong 可以解释为“选择作为 h1 元素子元素的所有 strong 元素”。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式