本文根据 FCC 的 CSS 基础教程总结而来, 便于日后查询。
-
inline css:
style="color: red;" -
使用 CSS Selector:
css<style> h2 { color: red; } </style> -
使用 CSS class:
css<style> .blue-text { color: blue; } </style> -
字体相关的 font-size 和 font-family
-
导入外部字体时, 可以使用这样的形式:
<link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">, 然后在需要的 font-family 中设置字体即可. -
字体选择, 可以使用逗号分隔:
cssp { font-family: Helvetica, sans-serif; } -
指定 Image 的 size:
css<style> .larger-image { width: 500px; } </style> -
添加 Border:
css.thin-red-border { border-color: red; border-width: 5px; border-style: solid; } -
Border Radius 添加:
css.thin-red-border { border-color: red; border-width: 5px; border-style: solid; border-radius: 10px; } -
如果要全圆角, 可以设置 border-radius 为 50%.
-
为 div 设置背景色, 可以使用 background-color.
-
可以设置元素的 id, id 没有硬性规定必须唯一, 但实践中总是把 id 设置为唯一, 通过 id selector 来进行风格配置的时候, 在 css 以
#开头. -
Padding 表示的是元素内部的四周距离, 可以设置 padding:
css.blue-box { background-color: blue; color: #fff; padding: 20px; } -
Margin 表示元素外部四周距离, 可以设置 margin:
css.blue-box { background-color: blue; color: #fff; padding: 20px; margin: 20px; } -
设置负数的 margin 意味着和周围元素的距离为负.
-
可以对上下左右设置不同的 padding 值:
css.blue-box { background-color: blue; color: #fff; padding-top: 40px; padding-bottom: 20px; } -
同样可以对上下左右设置不同的 margin 值.
-
可以直接按上-右-下-左的顺序设置 padding 或 margin(从12点顺时针), 这样简化写法:
padding: 20px 40px 20px 40px; -
使用 attribute selector 来设置风格, 比如设置全部
type为checkbox的元素的风格;css[type="checkbox"] { margin: 10px 0 15px 0 } -
关于在 CSS 中的单位, 有绝对单位和相对单位, 其中 px 为绝对单位. em 或 rem 为相对单位. 比如 em 基于元素父元素, 如果在 font-size 中设置 em, 则它相对父的 font-size. 比如可以设置 padding:
css.red-box { background-color: red; margin: 20px 40px 20px 40px; padding: 1.5em; } -
继承: 在特定元素的孩子, 会自动使用继承风格, 即如果设置 body 的 color 为 green, 则它里面有一个 h1 的话, h1 的 color 也是 green:
css<style> body { background-color: black; color: green; font-family: monospace; } </style> <h1>Hello World</h1> -
在一般情况下, 可能设置的风格会有冲突, 则特殊风格会覆盖一般风格:
css<style> body { background-color: black; font-family: monospace; color: green; } .pink-text { color: pink; } </style> <h1 class="pink-text">Hello World!</h1> -
如果一个元素设置多个 class 中有冲突的设置, 则后面的会覆盖前面的.
-
但可以通过 id 来设置, 这样 id 对应的风格会比 class 的优先.
-
如果有 inline 的 style, 即直接在元素里面设置 style, 则 style 的会覆盖 id 和 class 的设置.
-
如果在 css 中给某个值设置
important, 则这个值最优先, 即覆盖其他的配置:css.pink-text { color: pink !important; } -
CSS 中可以使用十六进制表示颜色, 比如
#fff, 颜色的十六进制表示是:#红绿蓝alpha -
可以使用
rgb(r,g,b,alpha)value 来指定颜色, 其中颜色是 0~255, alpha 是 0 到 1. -
使用 CSS 变量可以更好组织代码
- 创建变量用
--penguin-skin: gray;语法 - 使用变量用
background: var(--penguin-skin);这样的语法 - 如果变量没有定义, 可以使用 fallback 的语法, 即指定默认值, 类似这样
background: var(--penguin-skin, black);
css.penguin { /* 变量定义 */ --penguin-skin: gray; --penguin-belly: white; --penguin-beak: orange; position: relative; margin: auto; display: block; margin-top: 5%; width: 300px; height: 300px; } .penguin-top { top: 10%; left: 25%; /*变量使用*/ background: var(--penguin-skin, gray); width: 50%; height: 45%; border-radius: 70% 70% 60% 60%; } - 创建变量用
-
写 CSS 时, 有时需要考虑浏览器兼容问题, 这样可以针对浏览器来设置相同的值的不同表示.
-
通过如下方式设置变量, 这样该变量就会在指定了 root class 的范围内可用:
css:root { /* Only change code below this line */ --penguin-belly: pink; /* Only change code above this line */ } -
可以在任意 selector 中重写同名变量的值, 则在该范围内变量将被替换为新的值.
-
使用 media-query, 可以针对不同的条件对变量设置不同的值, 也可以用相同的办法设置相同 selector 在不同条件下的配置:
css:root { --penguin-size: 300px; --penguin-skin: gray; --penguin-belly: white; --penguin-beak: orange; } @media (max-width: 350px) { :root { --penguin-size: 200px; --penguin-skin: black; } }