-
Notifications
You must be signed in to change notification settings - Fork 65
/
htmlcss.js
131 lines (125 loc) · 2.48 KB
/
htmlcss.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/**
*
* html语义化
* 提高代码可读性
* 利用SEO优化
*
* 块级元素,内联元素
*
* 独占一行,不管内容的长度。
*
* display: block | table;
*
* div h1 p ul li table form
*
* 内联元素
*
* 不会独占一行,会紧跟排列,知道没有足够的空间
* display: inline | inline-block;
*
* span strong label a img input select textarea iframe
*
* 盒模型
* IE盒模型 和 标准盒模型
*
* box-sizing: border-box | content-box;
*
* margin合并
* A 和 B 相距 10 个像素
* div {
* font-size: 10px;
* line-height: 1;
* margin-top: 10px;
* }
*
* div {
* font-size: 16px;
* line-height: 1;
* margin-top: 10px;
* margin-bottom: 10px;
* }
*/
// 这时,就出现margin 合并问题,两者间距合并为数值较大的值。
/**
* BFC
* Block formating context: 块级格式化上下文。
*
* 形成独立的渲染区域。
* 内部元素的渲染不会影响外界。
*
* 形成BFC 常见的条件:
* 浮动元素:(float不为none ,即left, right)
* 绝对定位元素:(position 是 absolute, fixed)
* 块级元素:overflow(非visible,即auto, scroll, hidden);
* flex元素:
* inline-block元素
*/
/**
* 应用场景
* 清除浮动
* clear {
* overflow: hidden;
* }
*/
/**
* flex 布局
*
* 父级容器
* flex-direction: 主轴方向(水平方向,垂直方向)
* justify-content: 主轴对齐方式
* align-items: 交叉轴上的对齐方式
* flex-wrap: 是否拆行。
*
* 子元素相关
* align-self: 子元素在交叉轴上的对齐方式
*
* relative, absolute 定位
*
* relative定位,相对于自身定位。
* absolute定位,相对于最近的一层父级定位。
*
*
* 定位元素relative, absolute, fixed 和 body
*
* body本身就是一个定位元素
*
* 水平居中
*
* 行内元素
* text-align: center;
*
* 块级元素
* margin: 0 auto;
*
* absolute: 定位元素
* left: 50%;
* margin-left: -(width/2);
*
*
* 垂直居中
* 行内inline元素
* line-height: height;
*
* absolute定位元素
* top: 50%;
* margin-top: -(height/2);
*
* top: 50%;
* transform: translate(-50%, -50%);
*
* top, left, bottom, right = 0
* margin: auto;
*
* line-height: 继承问题
*
* 1 具体数值;例如50%;
* 2 比例,如1.5;
* 3 百分比,如20%;
*
* rem
*
* px 绝对长度单位
* em 相对长度单位,相对于父元素
* rem 相对长度单位,相对于html根元素
*
*/