层叠样式表,主要由属性和属性值(value)组成。(虽然HTML、CSS对代码大小写不敏感,可是属性和属性值对代码大小写是敏感的)css
由浏览器将CSS和html分别转化为文档对象,组合为DOM文档对象模型,标记语言中的每一个元素、属性、文字片断都是DOM树中的一个节点,再由浏览器转换显示。html
优先级最高,但因为会形成代码冗余及代码更新任务庞大,通常不采用。浏览器
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>My CSS experiment</title> </head> <body> <h1 style="color: blue;background-color: yellow;border: 1px solid black;">Hello World!</h1> <p style="color:red;">This is my first CSS example</p> </body> </html>
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>My CSS experiment</title> <style> h1 { color: blue; background-color: yellow; border: 1px solid black; } p { color: red; } </style> </head> <body> <h1>Hello World!</h1> <p>This is my first CSS example</p> </body> </html>
单独创建一个.css文档
易于代码更新,减小代码冗余。做为新手,这一点也是必需要作到的。布局
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>My CSS experiment</title> <link rel="stylesheet" href="style.css"> </head> <body> <h1>Hello World!</h1> <p>This is my first CSS example</p> </body> </html>
格式:“property : value”
属性(property)与属性值(value)单词拼写采用美式标准。flex
格式:“{property : value; property : value;}”
“;”的丢失最易致使错误。spa
格式:“selector {property : value; property : value;}”code
元素选择器 p
类选择器 .class
ID选择器 #id
通用选择器 *
而且选择器 p.class#id
并列选择器 p,.class,#idorm
后代选择器 parent son,使用空格分割两个选择器
子代选择器 parent>son,使用>分割两个选择器
下一个兄弟选择器 selector+selector,使用+分割两个选择器
以后全部兄弟选择器 selector~selector,使用~分割两个选择器htm
selector[property]
selector[property=value]
selector[property*=value]
selector[property^=value]
selector[property$=value]
selector[property~=value]对象
子元素
:first-child
:nth-child()
:first-of-type
状态
:hover
:active
(顺序LVHA:link visited hover active)
:focus
::after 经常使用于清除浮动
::before
::first-letter
::first-line
!important(改变了CSS方式,尽可能绕开!)
放在一段style中(1000)
id(100)
.class或伪类或属性选择器(10)
元素选择器或伪元素选择器(1)
后者覆盖前者(按照顺序)
这里很少叙述…………
1)div行及元素
2)span块级元素
float:left;
float:right;
clear:both;(清除左右浮动,该元素会换行)
*块级元素一旦浮动以后:
1)脱离了当前文档流,对父级元素失去了支撑的做用,后面的非浮动元素会插入到浮动元素的下面。
2)浮动元素的宽高默认由其内容所决定,可是咱们能够为其指定宽高。
3)当浮动元素没法承载子元素的时候,子元素会在下一行显示。
4)浮动元素的margin没法合并。
*浮动引起的问题:
1)子元素浮动会失去对父元素的支撑
解决方案:在全部子元素的末尾添加一个空元素,该空元素须clear:both;
2)若是为子元素的宽度指定绝对值,而且子元素具备边框,在缩放浏览器的时候会错位
解决方案:
1.box-sizing:border-box; 2..right {margin-left:100px;}
1)静态定位
2)相对定位
相对于该元素原先位置进行移动
relative: top right bottom left
3)绝对定位
相对于该元素最近的定位父元素位置进行移动
absolute: top right bottom left
4)固定定位
fixed
display:flex;