[toc]
## ::first-letter伪元素生效的前提
1. display为:block、inline-block、list-item、table-cell或则table-caption,其它所有值都没用(包括display:table和flex)
2. 不是所有字符都能作为伪元素生效,只有数字、英文字母、中文、$、一些运算符,以及**空格** 才会有效
3. 该伪元素可以跨标签获取(标签嵌套很多层也是可以获取的只要满足上面两点)
### 赠品字符
`::first-letter`只会选中第一个有效的字符,注意,是第一个**有效的**字符,但如果第一个有效字符并不是作为第一个字符存在,那么这个第一个有效字符前面的所有其他字符也会被选中,
我们称这些被连带选中的字符为`赠品字符`
![](https://box.kancloud.cn/ffd4753edd31410c22534498eb68ef2d_272x167.png)
## 其他失效情况
1. 有效字符前面不能有图片或则inline-block/inline-table之类的元素存在
![](https://box.kancloud.cn/26a9126917931db6cf61a3c0ccd02b9c_543x93.png)
2. 第一个有效字符为空标签
![](https://box.kancloud.cn/45d9025a1dfaea08af7fb5e38045cbee_321x77.png)
3. 该伪元素不能被隐藏(visibility:hidden、display:none)
## ::first-letter伪元素支持的CSS属性
1. 所有字体有关的属性
2. 所有背景有关的属性
3. 所有margin有关的属性
4. 所有padding有关的属性
5. 所有border有关的属性
6. color属性
7. text-decoration、text-transform、letter-spacing、word-spacing(合适情景下)、line-height、float和vertical-align(只有当float为none的时候)等属性
## ::first-letter的颜色等权重总是多一层
::first-letter伪元素是作为子元素存在的,或则说应当看出是子元素,
对于类似color这样的继承属性,子元素的CSS设置一定比父元素的级别要高,**哪怕**父级使用了重量级的`!important`,因为子元素会**先**继承,然后**再**应用自身设置。
## ¥案例
```
<p>¥999</p>
```
```
.price:first-letter{
margin-right:5px;
font-size:xx-large;
vertical-align:-2px;
}
```
- 空白目录
- 未处理
- 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
- 浏览器渲染原理
- 移动端