css学习(一)

276 阅读2分钟

CSS

CSS选择器

css优先级

  • 内联样式 > id > class > 标签
  • 多个id > 单个id 多个class > 单个class 多个标签>单个标签
  • 书写css尽量选择低等级的选择器
  • 数量相同的id,class选择器,书写在后面会覆盖前面的
/*main.css*/
h1 {
  color: #2f4f4f;
  margin-bottom: 10px;
  font-family: serif;
}

.title {
  font-family: monospace;
}

#page-tile {
  font-family: sans-serif;
}

.nav {
  margin-top: 10px;
  list-style: none;
  padding-left: 0;
}

.nav li {
  display: inline-block;
}

.nav a {
  color: white;
  background-color: #13a4a4;
  padding: 5px;
  border-radius: 2px;
  text-decoration: none;
}

.featured {
  background-color: orange;
}

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <link rel="stylesheet" href="main.css" />
  </head>
  <body>
    <header class="page-header">
      <h1 id="page-title" class="title">Wombat Coffee Rosters</h1>
      <nav>
        <ul class="nav">
          <li>
            <a href="/">Home</a>
          </li>
          <li>
            <a href="/coffees">Coffees</a>
          </li>
          <li>
            <a href="/brewers">Brewers</a>
          </li>
          <li>
            <a href="/specials" class="featured">Specials</a>
          </li>
        </ul>
      </nav>
    </header>
  </body>
</html>

css选择器使用原则

  • 非必要不要使用id选择器
  • 非必要不要使用 !important

CSS属性继承

  • 文本相关属性

    color、font、font-family、font-size、font-weight、font-variant、font-style、line-height、letter-spacing、text-align、text-indent、text-transform、white-space、word-spacing

  • 其他属性

    list-style、list-style-type、list-style-position、list-style-image、border-collapse、border-spacing

  • 属性值为inherit,会继承父元素的值

  • 属性值为initial,会变成默认初始值

CSS属性简写

  • 简写方向顺序一般为上、右、下、左(4方向),上下、左右(2方向)。

CSS布局单位使用

  • 绝对长度单位:px、mm、cm、in、pt、pc

    1in = 25.4mm = 2.54cm = 6pc = 72pt = 96 px

  • 相对单位:em(乘以当前元素字号大小,字号大小设置时为集成字号来计算)、rem(乘以根元素的字号大小)

  • 通常用rem设置字号、px设置边框、em设置其他大部分属性

  • 视口相对单位:vh(视口高度的1%)、vw(视口宽度的1%)、vmin(宽度和高度中较小一方的1%)、vmax(宽度和高度中较大一方的1%)

CSS自定义变量

:root {
  --main-font: Helvetica, Arial, sans-serif;
  --main-bg: #fff;
  --main-color: #000;
  font-size: 0.75em;
}
p{
  background-color: var(--main-bg);
  color: var(--main-color);
}
p.special{
    /*第二个参数设置无变量时的值*/
    color: var(--second-color,blue);
    /*改变变量值,能够继承层叠*/
    --main-bg:#f00;
}
//通过js设置css自定义属性变量
var rootElement = document.documentElement;
var styles = getComputedStyle(rootElement);
var mainColor = styles.getPropertyValue('--main-bg);
rootElement.style.setProperty('--main-bg','#cdf');