《精通CSS》读后笔记

计算选择器的特殊性

主要分为四种:

1.行内样式,基数1000

2.ID选择器,基数100

3.类 伪类 属性选择器 ,基数10

4.类型,标签选择器,伪元素选择器的个数 基数为1


边距叠加

1.上下相邻块元素 

上一个块元素出现在另外一个块元素之上,如果设置了margin属性,二者的margin-bottom和margin-top发生叠加


2.父块元素和第一个或者最后一个子元素

如果父块元素和第一个子元素之间没有边框、内边距、内联内容和间距分开,若设置了margin,则二者的margin-top会叠加;

或者父块元素和最后一个子元素之间没有边框、内边距、内敛内容和高度设置(height/min-height/maxheight),若设置了margin,则二则的margin-bottom会叠加

可以给父元素增加border、设置padding、填充内容等方式来解决,还可以使用overflow来解决


<div>
    /**填充内容**/
  <p>margin-top</p>
</div>

div{
    overflow:hidden;
    //padding:10px;
    //border:1px solid transparent;
}
3.空的块元素

对于没有边框、内边距、内联内容和高度设置(height/min-height)的空块元素,如果设置了margin属性,则顶底外边距会发生叠加:

如果外边距碰到另外一个空元素的外边距,则还会发生叠加,合并成为一个外边距。

浮动

<div class='news'>
  <img src='http://ww3.sinaimg.cn/bmiddle/8d522661gw1ey1rotf8t6j205k03hjr9.jpg'  />
  <p>some text</p>
<div>

//css
.news{
  border:1px solid red;
}
img{
  float: left;
}
p{
  float: right;
}


图片和文本都是浮动元素,不占据空间,所有div没有被撑开。如何解决?

1。增加空行清除浮动,这种方式会增加额外的标签和代码

<p>some text</p>
<br class='clear' />

//css
.clear{
    clear: both;
}
2.利用伪元素,会受子元素大小限制

.news:after{
  display: block;
  height: 125px;
  content: '';
}
3.对包含的子元素浮动

.news{
  float: left;
}

4.利用overflow,能够自动清理包含的任何浮动元素,但在某些情况下,会影响盒子的显示,产生滚动条或者阶段性内容

.news{
  border:1px solid red;
  overflow: hidden;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值