CSS的一些小技巧

之前做的一个笔记,在一个github上翻译而来,原文哪来的忘了。

  1. CSS样式重置:
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
  1. 继承box-sizing:
html {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}
  1. 使用 :not() 伪类来定义导航栏的分割:
.nav li:not(:last-child) {
  border-right: 1px solid #666;
}
  1. 在body设置 line-height 来使文本元素继承同样的行高:
body {
  line-height: 1.5;
}
  1. 使用 “Lobotomized Owl” 选择器(使相邻的元素都有同样的行为):
* + * {
  margin-top: 1.5em;
}
  1. 通过给表格 table-layout 属性设置 值为 fixed 可以让单元格的宽度一致:
.calendar {
  table-layout: fixed;
}
  1. <a>链接有href属性,但是没有文本内容,可以使用属性选择器的方式来将对应的地址设为链接文本:
a[href^="http"]:empty::before {
  content: attr(href);
}
  1. 保持固定长宽比的盒子:
.container {
  height: 0;
  padding-bottom: 20%;
  position: relative;
}

.container div {
  border: 2px dashed #ddd;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

将padding设置为20%,可以使得盒子的高度等于宽度的20%,子元素div的保持长宽比(100% / 20% = 5:1)

  1. 伪元素 xx::before 和 xx::after 是根据他们前面的元素xx进行定位的。
这里强调一下:
  1. 记得多考虑能不能用 伪类伪元素来解决问题。
  2. 有时使用 :not() 可以简单地解决复杂问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值