Web/03-CSS进阶/01-CSS中的非布局样式.md
2021-07-29 11:08:52 +08:00

63 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 01-CSS中的非布局样式
publish: true
---
<ArticleTopAd></ArticleTopAd>
## 前言
CSS中有很多**非布局样式**,这些样式(属性)和与布局无关,包括:
- 字体、字重、颜色、大小、行高
- 背景、边框
- 滚动、换行
- 装饰性属性(粗体、斜体、下划线)等。
这篇文章,我们来对上面的部分样式做一个回顾。
## 边框
如何用边框画一个三角形详见《02-CSS基础/06-CSS盒模型详解》中的最后一段。
## 文字换行
- ovferflow-wrap通用的属性。用来说明当一个不能被分开的字符串单词太长而不能填充其包裹盒时为防止其溢出浏览器是否允许这样的单词**中断换行**。
- word-break指定了怎样在单词内断行。这里涉及到CJK中文/日文/韩文)的文字换行。
- white-space空白处是否换行。
上面这三个 css 属性进行组合,可以设置各种不同的属性。
当然,如果想让一段很长的文本不换行,可以直接设置`white-space: nowrap` 这一个属性即可。如果想换行,可以试试`white-space: pre-wrap`。
## CSS Hack
- CSS Hack 的方式:不合法但可以生效的写法。
- 可以用来解决一些浏览器的兼容性问题。
- 缺点难理解、难维护、易失效比如浏览器升级后hack可能会失效
- 替代方案:特性检测。
- 替代方案:针对性加 class
## CSS 效果
我们可以利用 CSS 实现各种效果,常见的效果属性有:
- box-shadow盒子的阴影
- text-shadow文本的阴影
- border-radius
- background
- clip-path