[toc]
## 由中间向两边伸缩
初始大小与位置
```
position:absolute;
content: '';
display:block;
width:0;
border:1px solid rgba(255,255,255,1);
margin-left:50%;
left:0;
```
hover时
```
width:100%; //向右(看起来是,其实是向左速度的两倍,但因为整体向左偏移...)
margin-left:0; //向左
```
## 光斑效果?(光条换过玻璃)
需要嵌一个子元素,子元素为要显示的内容,需将其z-index提升
在父元素上创建一个伪类,做光斑。
矩形,`rotate(35deg)`左右,再用`left/top负值`将它隐藏(通过父元素`overflow:hidden`),hover时再让它通过`left正值`向右滑过。
贝塞尔曲线参考
```
transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1);
```
## 平面立体按钮
hover时收敛阴影(双阴影变单层细阴影)并加深(变黑),字体颜色加深+字体内阴影,按钮背景色加深,边框加深(变黑)
```
.btn-3 {
box-shadow: 0px 2px 0 #d6251f, 2px 4px 6px #e02a24;
background: #e3403a;
border: 1px solid #da251f;
font-weight: 900;
letter-spacing: 1px;
-webkit-transition: all 150ms linear;
transition: all 150ms linear;
}
.btn-3:hover {
box-shadow: 1px 1px 2px rgba(255, 255, 255, 0.2);
background: #e02c26;
border: 1px solid rgba(0, 0, 0, 0.05);
text-shadow: -1px -1px 0 #c2211c;
color: #ec817d;
text-decoration: none;
-webkit-transition: all 250ms linear;
transition: all 250ms linear;
}
```
## 扩散效果
通过outline,outline-offest,并让outline逐渐透明。
hover时,button内部产生侵蚀效果(通过大数值模糊半径,水平垂直阴影为0,光是模糊半径)
```
.btn-5 {
border: 0 solid;
box-shadow: inset 0 0 20px rgba(255, 255, 255, 0);
outline: 1px solid;
outline-color: rgba(255, 255, 255, 0.5);
outline-offset: 0px;
text-shadow: none;
-webkit-transition: all 1250ms cubic-bezier(0.19, 1, 0.22, 1);
transition: all 1250ms cubic-bezier(0.19, 1, 0.22, 1);
}
.btn-5:hover {
border: 1px solid;
box-shadow: inset 0 0 20px rgba(255, 255, 255, 0.5), 0 0 20px rgba(255, 255, 255, 0.2);
outline-color: rgba(255, 255, 255, 0);
outline-offset: 15px;
text-shadow: 1px 1px 2px #427388;
}
```
- 空白目录
- 未处理
- webpack中的css模块化
- CSS预处理器
- 效果
- 元素装饰与美化
- 颜色
- checkbox
- img
- background
- clip-path
- 字体
- 文本控制
- text-indent
- letter-spacing
- word-spacing
- word-break和word-wrap
- white-space
- text-align
- text-decoration
- text-transform
- first-letter
- first-line
- 有关CSS百分单位的那些奇葩事儿
- 破坏性、包裹性、块状化
- 强大的absolute
- padding
- relative
- 继承性
- fixed
- float
- BFC
- z-index
- overflow
- clip
- 最佳可访问性隐藏
- 关于scrollHeight/Width
- 包含块
- margin
- 布局系统
- 杂
- Flex
- Grid
- 自定义布局系统
- gutter实现思路
- 选择器
- 伪元素和伪类
- css3
- appearance
- CSS2.1
- tmp
- 未定义行为
- 焦点元素
- outline轮廓
- 替换元素
- 盒子模型
- 块级元素/盒子
- 标记盒子
- 容器盒子(内在盒子)
- 内联元素/盒子
- 字母X
- line-height
- vertical-align
- font-size
- 内联元素盒子模型新解
- line-height定义
- line-height与行内框盒子模型
- line-height与内联元素的高度机制
- line-height值
- line-height与图片
- vertical-align支持的属性值及组成
- vertical-align起作用前提
- vertical-align与图片
- vertical-align与line-height
- vertical-align前后不一的行为表现
- vertical-align实际应用
- line-height与height
- width/height与auto
- 最小内容宽度
- 最大内容宽度
- min/max-width/height注意事项
- 流:外部尺寸与内部尺寸
- 流体布局下的宽度分离原则
- height:auto
- 浏览器渲染原理
- 移动端