background
语法
background:bg-color bg-image bg-repeat bg-attachment bg-position/bg-size;
eg:
background: red url('./background.png') no-repeat fixed center/cover;
值 | 说明 | CSS |
---|---|---|
background-color | 指定要使用的背景颜色 | 1 |
background-position | 指定背景图像的位置 | 1 |
background-size | 指定背景图片的大小 | 3 |
background-repeat | 指定如何重复背景图像 | 1 |
background-origin | 指定背景图像的定位区域 | 3 |
background-clip | 指定背景图像的绘画区域 | 3 |
background-attachment | 设置背景图像是否固定或者随着页面的其余部分滚动。 | 1 |
background-image | 指定要使用的一个或多个背景图像 | 1 |
opacity、visibility、display
介绍 | opacity | visibility | display |
---|---|---|---|
作用 | 设置透明度 | 设置元素是否可见 | 设置元素的显示类型 |
是否占据页面空间 | 是 | 是 | 否 |
是否影响子元素 | 是 | 否 | 是 |
是否可触发绑定事件 | 是 | 否 | 否 |
是否产生回流(reflow) | 否 | 否 | 是 |
是否产生重绘(repaint) | 不一定 | 是 | 是 |
是否支持transition | 是 | 是 | 否(还会让transition失效) |
注意:
1 | visibility 和 display 属性是不会影响其他元素触发事件的,而 opacity 属性 如果遮挡住其他元素,其他的元素就不会触发事件了。 |
css可继承与不可继承的属性
无继承性的属性
display:规定元素的显示类型
文本属性:
vertical-align:垂直文本对齐
text-decoration:规定添加到文本的装饰
text-shadow:文本阴影效果
white-space:空白符的处理
unicode-bidi:设置文本的方向
盒子模型的属性:width、height、margin 、margin-top、margin-right、margin-bottom、margin-left、border、border-style、border-top-style、border-right-style、border-bottom-style、border-left-style、border-width、border-top-width、border-right-right、border-bottom-width、border-left-width、border-color、border-top-color、border-right-color、border-bottom-color、border-left-color、border-top、border-right、border-bottom、border-left、padding、padding-top、padding-right、padding-bottom、padding-left
背景属性:background、background-color、background-image、background-repeat、background-position、background-attachment
定位属性:float、clear、position、top、right、bottom、left、min-width、min-height、max-width、max-height、overflow、clip、z-index
生成内容属性:content、counter-reset、counter-increment
轮廓样式属性:outline-style、outline-width、outline-color、outline
页面样式属性:size、page-break-before、page-break-after
声音样式属性:pause-before、pause-after、pause、cue-before、cue-after、cue、play-during
有继承性的属性
- 字体系列属性
font:组合字体
font-family:规定元素的字体系列
font-weight:设置字体的粗细
font-size:设置字体的尺寸
font-style:定义字体的风格
font-variant:设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小。
font-stretch:对当前的 font-family 进行伸缩变形。所有主流浏览器都不支持。
font-size-adjust:为某个元素规定一个 aspect 值,这样就可以保持首选字体的 x-height。
- 文本系列属性
text-indent:文本缩进
text-align:文本水平对齐
line-height:行高
word-spacing:增加或减少单词间的空白(即字间隔)
letter-spacing:增加或减少字符间的空白(字符间距)
text-transform:控制文本大小写
direction:规定文本的书写方向
color:文本颜色
元素可见性:visibility
表格布局属性:caption-side、border-collapse、border-spacing、empty-cells、table-layout
列表布局属性:list-style-type、list-style-image、list-style-position、list-style
生成内容属性:quotes
光标属性:cursor
页面样式属性:page、page-break-inside、windows、orphans
声音样式属性:speak、speak-punctuation、speak-numeral、speak-header、speech-rate、volume、voice-family、pitch、pitch-range、stress、richness、、azimuth、elevation
所有元素可以继承的属性
元素可见性:visibility
光标属性:cursor
内联元素可以继承的属性
字体系列属性
除text-indent、text-align之外的文本系列属性
块级元素可以继承的属性
- text-indent、text-align
浏览器默认属性值问题
由于各浏览器对于HTML标签都存在预设值,所以为了让我们设计的页面在不同的浏览器上显示效果相同,就需要用resetcss
。
世界知名的 CSS 大师「Eric A. Meyer」整理出一个很棒的解决方法,针对 CSS 语法最容易出问题的部份。例如 margin 外间距,各大浏览器最常发生不一致的状况,写成了一个 Reset CSS 档案,将 margin 全部统一归 0 ,其他部份,文字大小和行高也全部统成一样的大小 … 等,只要挂上这一段「Reset CSS」语法,就可以让所有的各大浏览器乖乖听话,呈现一样的结果,CSS 的大同世界就在这里啊,哈哈哈哈哈!
1 | /* http://meyerweb.com/eric/tools/css/reset/ |
一些简单样式汇总
cursor样式
list-style-type样式
border样式
checkbox与radio与文字水平对齐
1 | /* 其实很简单,只需要给对齐的元素都添加vertical-align:middle;属性即可。 */ |
图片等比例缩放、翻转等
图片等比例缩放
在img标签里面只设置宽,不设置高,图片就会等比例缩放。
也可以使用css属性调整图片显示位置,或者使用background
来调整亦可。
1 | object-fit: cover; |
使用 padding 解决
1 | 如果原始图片大小是 800 * 250,即宽高比为 800 / 250 = 3.2。 |
图片翻转
1 | /*水平翻转*/ |
水平居中的方式
1 | text-align:center; //文本水平居中 |
垂直居中的方式
1 | paddingtop=paddingbottom; or line-height=height; //文本垂直居中 |
水平垂直居中
1 | <!-- 方法1:绝对定位+margin:auto; --> |
CSS单行、多行文本溢出/换行
单行溢出
1 | .text-truncate { |
多行溢出
1 | .text-truncate-multiple { |
完美换行
1 | .text-wrap { |
CSS Overflow
overflow: auto|visible|hidden|scroll|inherit;
- auto 自动产生滚动条,哪个方向超出了就出现滚动条。
- visible 不显示滚动条,但是超出部分会显示。
- hidden 不显示滚动条,超出部分不会显示。
- scroll 显示滚动条,就算某个方向没超出也会显示。
- inherit 继承父元素的设置
CSS动画基本语法
transform
1 | transform: translate(x, y); //偏移 |
transition
1 | transition //转场动画 |
animation
1 | /* from and to */ |
BFC
BFC 块格式化上下文(Block Formatting Context) 是Web页面的可视CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。
设计哲学
RWD
1 | 常用绝对单位 |
Media Queries 与界面容器
为了让不同使用者的荧幕分辨率可以获得最佳浏览效果,根据荧幕分辨率,制定不同大小的界面容器,增加使用者体验。
1 | @media screen and (min-width: width-a) and (max-width: width-b) { |
常见的界面容器宽度
其他
1 | !important //避免样式被覆盖 |
content-visibility: auto;
优化长列表渲染,若 img 这种元素的高度是有图片内容决定的,还需要使用contains-intrinsic-size
属性来优化。