css使用备忘录1

float/absolute/fixed定位会强制设置成block

例如:

div {
    float: left;
    display: block;
    width: 100px;
    height: 30px;
}

第二行的display: block其实是没用的,因为如果设置浮动了,目标元素就会具有块级盒模型的特性,即使设置display: table-cell或者inline也不管用。如果设置为display: flex,那么float将会被忽略。

同样地,absolute定位和fixed定位也有同样的效果,会把行内元素变成块级的。
因此,在这种情况下,如果你设置display:inline-*的时候,将会做如下的转换inline或inline-block将转换成block,inline-flex转换成flex,inlone-grid转换成grid,inline-table转换成table

不要使用transform: translate (-50%, -50%)居中

一个element水平垂直居中,其中的一种解决方案是结合使用position: absolute和使用transform属性。但是,这个技术在基于Chromium的浏览器中引起了模糊的文本问题。

.parent {
  position: relative;
}

.child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

分享一个技巧,可以将代码减少为两个属性。
我们可以使用margin:auto在flex容器内自动放置,浏览器将元素居中。 只有两个属性,仅此而已。

.parent {
  display: flex;
}

.child {
  margin: auto;
}

css属性width默认值width: auto与width: 100%区别

width: auto
父元素的content = 子元素(content + padding + border + margin )

width: 100%
强制将子元素的content区域 撑满 父元素的content区域
子元素有margin、border、padding时,不改变子元素content区域的width,而是溢出父盒子,保持原有值
父元素的content = 子元素的content

不用在块级元素上设置 width: 100%
width的默认值是父元素的100%,一般情况下不用设置就可以满足需求。height的默认值是里面内容的高度,用css中用代码表示就是height:auto;这句话的意思就是内容高度决定盒子的高度。一般写代码的时候也不需要给元素设置高度,如果设置了高度而且设置的高度不够的时候,就会出现元素重叠的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值