- 是层叠样式表的简称
- 也是一种标记语言
- 主要构成:选择器以及一条或多条声明
h1 { color: red; font-size: 25px }
- 选择器 属性 值
- 展开式
- { 前面加个空格 :后面加个空格
- 选择标签
-
基础选择器和复合选择器
-
基础:标签选择器、类选择器、id 选择器、通配符选择器
-
<style></style> 写在 里面
-
标签选择器:
<head> <style> p { color: red; } </style> </head> <body> <p> </p> </body>
-
类选择器:
<head> <style> .box { width: 100px; font-size: 35px; } </style> </head> <body> <div class="box red"> </div> </body>
-
id 选择器:样式 # 定义 结构 id 调用,只能调用一次
#red {color: red;}
` -
通配符选择器:* 将所有的标签修改
* {color: red;}
-
- 可以写多个多类名(给某个标签添加了多个类)
- 多类名中间必须用空格隔开
- 标题标签比较特殊,需要指定文字大小
- 记得加上px(单位)
- 无单位
font-weight: 400;
-- 正常大小font-weight: 700;
-- 粗一点
- 主要是让倾斜的文字 (标签)不倾斜
- italic 倾斜的
-
不能更换顺序,每个属性建议空格隔开
-
必须保留 font-size 和 font-family 属性
-
body { font: font-style font-weight font-size/line-height font-family; font: 700 16px 'Microsoft yahei'; }
- 生成标签:直接输入标签名 + Tab 键
- 生成多个相同标签:比如 div*3 + Tab 键
- 包含关系的标签:比如 ul>li + Tab 键
- 并列关系的标签:比如 div+p + Tab 键
- 生成带有类名或者id名字的:.demo 或者 #two + Tab 键
- 生成 div 类名是有顺序的,用自增符号
$:比如 div$ *5 + Tab 键 - 如果想要在生成的标签内部写内容用{}:比如 div{哈哈哈哈} + Tab 键
- 块元素
- 独占一行 比如
- 高度、宽度、外边距以及内边距都可以控制
- 宽度默认是容器的100%
- 是一个容器及盒子,里面可以放行内或者块级元素
- 注意:文字类的元素不能使用块级元素,比如
- 行内元素
- 一行可以显示多个
- 高、宽直接设置是无效的
- 默认宽度就是它本身内容的宽度
- 只能容纳文本或其它行内元素
- 注意:链接里面不能再放链接;特殊情况链接里面可以放块级元素,转换一下块级模式最安全
- 行内块元素
border-width
-- 边框粗细,单位pxborder-style
-- 边框的样式border-color
-- 边框的颜色
- margin:0 auto;-- 典型应用
- 盒子必须指定宽度 -- 水平居中
- 行内元素或行内块元素水平居中给其父元素添加 text-align:center;
-
ul 有内外边距 div 没有内外边距
-
* { padding: 0; margin: 0; }
-
行内元素只设置左右边距
-
ul 去掉小圆点
li { list-style: none; }
border-radius:
- 圆形:设置一个正方形盒子,
border-radius:50%
- 圆角矩形:设置为高度的一半
box-shadow: 10px 10px 10px -4px rgb(0, 0, 0, .3);
- 水平阴影 垂直阴影 模糊距离(虚实) 阴影的尺寸 阴影的颜色 内(inset)外(不用写,默认的)阴影
- 可以让多个块级元素一行内排列显示
- 多个块级元素纵向排列找标准流,多个块级元素横向排列找浮动
1. 脱离了标准普通流的控制移动到指定位置(俗称脱标)、浮动的盒子不再保留原县的位置
2. 浮动的盒子一行显示上边对齐
3. 添加浮动后具有行内块特性
- 浮动和标准流的父盒子搭配:先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置
- 一个元素浮动了,理乱上其他兄弟元素也要浮动:一浮全浮
- 浮动的盒子只会影响后面的标准流,不会影响前面的标准流
- 布局定位属性:display / position / float .clear / visibility / overflow
- 自身属性:width / height / margin / padding / border / background
- 文本属性:color / font / text-decoration / text-align / white-space / break-word
- 其他属性:content /
- 相对定位:移动位置的参照点是自己原先的位置
- 绝对定位:
- 如果没有祖先元素或者祖先元素没有定位则以浏览器为准定位;
- 如果祖先有定位,则以最近一级的定位祖先元素为参考点移动位置
- 不再占有原先的位置(脱标)
- 子级绝对定位,不会占有位置,可以放到父盒子里面的任何一个地方,不会影响其他的兄弟盒子
- 父盒子需要加定位限制子盒子,需要占有位置 -- 相对定位
- 固定定位:
- 以浏览器的可视窗口最为参照点移动,不随滚动条滚动
- 脱标的 -- 一种特殊的绝对定位
- 小技巧:固定在版心右侧位置
- 让固定定位的盒子left:50% 走到浏览器可视区
- 再让固定定位的盒子贴着版心右侧对齐
定位模式 | 是否脱标 | 移动位置 |
---|---|---|
relative 相对定位 | 否(占有位置) | 相随与自身位置移动 |
absolute 绝对定位 | 是(不占有位置) | 带有定位的父级 |
fixed 固定定位 | 是(不占有位置) | 浏览器可视区 |
- 绝对定位和固定定位不能用margin:auto;相对定位可以
选择器{ z-index: 1;}
- 数值可以是正整数、负数或0,默认是auto,数值越大,盒子越靠上
- 数字后面不能加单位
- 只有定位的盒子才有z-index属性
- 加了绝对定位的盒子不能通过margin:0 auto 水平居中,要写
{left: 50%; margin-left: 50%}
- 行内元素添加绝对或者固定定位,可以设置高度和宽度
- 块级元素添加绝对或者固定定位,如果不给宽度或者高度,默认大小是内容的大小
- 绝对定位会完全压住盒子(压住下面标准流的所有内容)
- 而浮动元素不同,不会压住文字,产生目的是为了做文字环绕效果
- 不保留原来位置
- display:none;隐藏对象
- display:block;转换为块级元素,显示元素
- 一般精灵图都是负值
- 如果直接插入图片就不用转换为行内块元素,
- 如果插入背景就需要先转换为行内块元素
display: inline-block
vertical-align: middle;
- 可以解决图片底部默认空白缝隙问题,或将块内元素转换为行内块元素
-
单行:
div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
-
<style> ul li { float: left; /*将无序列表放到一行显示*/ list-style: none; width: 150px; height: 200px; border: 1px soloid red; } </style>
-
margin 负值巧妙运用