day01
使用css
-
link 引入外部的css文件 <link rel="stylesheet" type="text/css" href="./01.css">
-
<style></style>
在html中写 -
使用html元素的style属性 尽量不要使用这种
注释
/**/
格式
选择器 {
CSS属性:值;
CSS属性:值;
}
选择器 {CSS属性:值;CSS属性:值}
####
css长度单位
px 像素 常见16px 最小 12px 浏览器不同这个值也不同
em 默认大小的倍数
百分比 默认大小参照
css颜色单位
colorname: red/green/bue/purple/orange/yellow/pink/skyblue
rgb数字 rgb(34,45,23) rgb(20%,57%,100%)
16进制 #abcdef #f90 #ccc 推荐使用的
css选择器
1 标签名选择器
tagname {
}
2 类名
.classname {
}
3 id选择器
idname {
}
4 全局选择器
* {
}
5 组合 后代元素
选择器 选择器
6 组合 子元素
选择器>选择器
7 群组
选择器,选择器,...
8 多条件选择器
p.item
选择器优先级
id > class > tagname > *
组合选择器 数数
字体
-
font-family 非衬线字体 :微软雅黑 sans-serify 衬线字体:宋体 serify
-
font-size: 30px; 字体大小
-
font-weight normal/blod 加粗
-
font-style notmal/italic 倾斜
-
font-variant normal/small-caps 对英文小写才有效 小型大写
-
font 复合属性
font:[weight|style|variant] size family
颜色
-
color
文本
-
word-spacing: 30px; 字符间隔 针对英文
-
letter-spacing: 10px; 字符间隔 针对汉字
-
text-align: left/center/right; 字体水平对齐方式:默认左对齐
-
vertical-align: baseline/middle; 顶线、基线、底线 字体都是在顶线和底线之间蹦跶 只有把文字和图片一起写的时候有点用
-
line-height 行高
-
text-decoration: none/overline/underline/line-through 默认none 最常用来处理超链接的下划线
-
text-indent:2em 首行缩进
-
word-wrap:break-word; 对于长链接或长单词自动断行
-
overflow-wrap:break-word 和上面的一样 css3起的别名
-
white-space: pre/pre-wrap; 格式化输出 /保证换行并缩进
day02
尺寸
-
width max-width min-width 后面还会在讲 先用width
-
height max-height min-height
边框
-
border-style 边框风格 solid / dotted / dashed / double / none
-
border-width 边框宽度
-
border-color 边框颜色
-
border 复合属性
border: 1px solid #ccc
内边距 边框与文字的距离
-
padding-left
-
padding-top
-
padding-right
-
padding-bottom
-
padding
padding: 值; 上下左右
padding: 值1 值2; 值1:上下 值2:左右
padding: 值1 值2 值3; 值1:上 值2:左右 值3:下
padding: 值2 值2 值3 值4; 值1:上 值2:右 值3:下 值4:左
背景属性
-
background-color 背景颜色
transparent
默认透明色 -
background-image 背景图片 url()
-
background-repeat 背景图片平铺 repeat no-repeat repeat-x repeat-y
-
background-position 背景图片位置 像素或者方位
-
background-attachment 背景图片固定 scroll / fixed
-
background 复合属性
background: color image repeat postion attachment
CSS Sprite 精灵图 雪碧图
-
利用 background-position 设置背景图片的位置
-
把很多小的图片 集成到一张大图上
-
好处: 减少网络请求数量
cursor css属性
cursor: pointer; move wait no-drop 手 十字 转圈 禁止访问
day03
列表相关的CSS属性
适用于<ol>
和<ul>
也可以设置给 <li>
list-style-type: disc/circle/square.../none 设置标识符
list-style-position: outside/inside 列表有边框这个才有意义
list-style-image: url() 使用自己的图片替代标识符
list-style: none; 复合属性 把前面的全部覆盖 这个最常用
ul li:first-child 表示第一个列表项
table标签的css属性
table-layout: auto / fixed 列宽固定(相等) auto(默认) 常用
border-collapse: separate/ collapse 合并单元格边框 默认独立 常用
border-spacing: 长度; 单元格和单元格之间的间隙 单元格不能合并
caption-side: top/bottom 标题的位置
empty-cells:hide/show 空的单元格显示/隐藏 单元格不能合并
day04
布局相关属性 CSS
CSS的小特点
子元素继承父元素的字体设置
-
1.4 布局相关属性 CSS
display
-
block 设置块
-
inline 设置为内联
-
inline-block 兼具两者 有些html元素,默认就是inline-block (img, input, textarea .td,th)
-
none 隐藏 无位置
布局相关
-
visibility: visible/hidden 元素不可见 但是有位置
-
overflow: hidden 超过的就没了/auto 水平和垂直都有滚动条/scroll 和auto一样/visible 超出盒子范围显示 还可以用来解决margin塌陷问题
-
overflow-x
-
overflow-y
尺寸
-
width / max-width 对块状有用向下自适应 / min-width 对inline-block有用
-
height / max-height / min-height
内边距
外边距
-
margin 4个值 3 2 1
-
margin-left
-
margin-top
-
margin-bottom
-
margin-right
-
day05
1 浮动 CSS float
1.1 浮动
-
元素可以设置向左 或者 向右浮动 (不会跳出父元素的宽)
-
元素浮动后,会脱离文档流。 (对后面的元素产生影响)
-
元素一旦浮动,会转换为块状元素 块状元素可以设置宽高等属性
-
浮动的元素并不独占一行(仍然是块状元素) 因为脱离标准文档流
-
浮动的元素,宽度默认会是auto,被内容撑开 尽可能的窄
-
多个元素浮动,会排成一行,宽度超过父元素宽度,会自动换行
1.2 浮动的影响
-
对后面元素影响。 后面元素会整体向前
-
对父元素有影响 (父元素的高不能被撑开)
1.3 消除浮动影响
-
消除元素对后面元素的影响, 在后面的元素设置
clear:both/left/right
-
消除子元素浮动对父元素的影响 。 给元素浮动 或者 设置
overflow
3 定位布局 CSS position
3.1 相对定位
-
通过
position:relative
设置元素为相对定位元素 -
元素设置为相对定位之后,不会脱离文档流,不影响其他元素
-
可以通过
left、top、right、bottom
给相对定位的元素设置位置 -
定位元素: 根据 原先默认的位置 去定位
3.2 绝对定位
-
通过
position:absolute
来设置绝对定位 -
元素绝对定位后,脱离文档流,影响后面的元素。 宽度默认会被内容撑开
-
可以通过
left、top、right、bottom
给绝对定位的元素设置位置 -
定位规则: 根据第一个定位的祖先元素,如果没有定位的祖先元素,根据html元素。 祖先元素什么定位都可以
3.3 固定定位
定义使用的CSS属性
position:
left
top
right
bottom
z-index
day06
1 定位
1.1 相对定位
1.2 绝对定位
1.4 固定定位
position: fixed;
left/top/right/bottom: 长度单位;
-
根据屏幕进行定位
-
脱离文档流 (宽度默认变成内容撑开)
-
元素设置为
固定定位
或绝对定位
之后,会变为块状元素
1.5 元素的层级位置
z-index: number; 只能用于被定位的元素 值高的覆盖值低的
2 布局知识点总结
元素垂直左右居中
position: absolute;
left: 50%;
top: 50%;
margin-top: -高的一半
margin-left: -宽的一半
元素水平居中
margin-left:auto;
margin-right: auto;
margin:0 auto;
text-align
-
让文字水平居中
-
内联元素(inline 和 inline-block)
line-height
-
让一行文字垂直居中。 line-height的值等于元素的高
-
内联元素(inline inline-block)
布局
1. CSS重置
-
reset.css
去掉所有元素的默认样式
也可以保证浏览器效果相同 -
normalize.css
重新设计了所有元素的默认样式
保证所有浏览器效果相同
优点:
添加了H5新元素的样式重置
没有简单粗暴
2. 布局的H5新增标签(了解)
header
footer
main
aside
article
section
dialog
双标签,没有任何默认样式,跟div一样。 有语义
3 .字体图标
http://fontawesome.dashgame.com/
day07
1 CSS3 的选择器
1.1 基本选择器
tagName
.className
#idName
*
slector,selector,selector
1.2 层级选择器
selector1 selector2 后代
selectoer1>selectoer2 子元素
selector1+selector2 紧邻在后面的兄弟元素
selector1~selector 后面所有兄弟元素
1.3 属性选择器
selector[attr] 包含指定的属性
selector[attr=value] 指定属性的值
selector[attr^=value] 属性值以value开头
selector[attr$=value] 属性值以value结束
selector[attr*=value] 属性值包含value
selector[][][] 多个属性选择器
-
属性选择器优先级 类比 class
1.4 伪类选择器
/*语法*/
selector:伪类 {
}
:link 未访问的超链接
:visited 访问过的超链接
:hover 鼠标悬停 任意元素
:actived 激活状态的超链接
:focus 获得焦点时
:first-child 兄弟元素中的第一个
:last-child 最后一个
:nth-child() 指定数字,也可以指定关键字"odd", "even" 各行换色
:nth-last-child(2) 指定数字 倒数第几个
:only-child 是否是独生子女
:fist-of-type 分类型后的第一个
:last-of-type 分类后的倒数第一个
:nth-of-type() 指定数字,也可以指定关键字"odd", "even"
:nth-last-of-type() 分类后倒数第几个 指定数字
:only-of-type() 分类后是否唯一
1.5 伪元素选择器
::first-letter 第一个字
::first-line 第一行
::before 最前面插入一个子元素
::after 最后面追加一个子元素 解决自身浮动问题
2 CSS3 基础
2.1 浏览器私有前缀
-weibkit-* chrome/safari
-moz-* firefox
-ms-* ie
-o-* opera
2.2 CSS3 新增的颜色
rgba(r,g,b,不透明度) 不透明度:0~1 小数, 数越大,越不透明
2.3 CSS3新增长度单位
px
em 默认字体大小的倍数
rem 根元素字体大小的倍数 手机上js获取屏幕大小 自适应用的比较多
vw 窗口宽度分成100份 50vw
vh 窗口高度分成100份 也是移动端较多 窗口和html大小的概念不一样
2.4 CSS3新增属性
# 重新设置 盒子模型的规则
box-sizing: content-box(默认) / border-box (width/height盒子的宽高 内陷)
# 外轮廓 在border的外面 不算盒子
outline: none; 最长用来取消input的轮廓
outline-style
outline-color
outline-width
# 不透明度
opacity 0~1 小数 整个盒子的透明度 rgba不包括字体
2.3 设置圆角
border-radius border-top-left-radius border-top-right-radius border-bottom-left-radius border-bottom-right-radius
day08
3.5 阴影
box-shadow:水平偏移 垂直偏移; 偏移可以负值 box-shadow:水平偏移 垂直偏移 颜色; box-shadow:水平偏移 垂直偏移 模糊值 颜色; /*最常见的*/ box-shadow:水平偏移 垂直偏移 模糊值 外延值 颜色;
3.5 背景
background-size: cover / contain / 400px 300px / 100% 100% background: color image postion/size repeat attachment
3.6 CSS3变换
-
transform
translatex() translatey() translate(x, y) rotate() 角度 deg skewx() 角度deg skewy() skew(x, y)
-
transform-origin 变换的原点。 对translate没有意义。 对rotate影响大
3.7 过渡效果
哪些CSS属性可以过渡
长度 (padding margin width height left/top/right/bottom border-width background-position ...) 颜色 变换 纯数字 (opacity、z-index)
触发过渡
伪类触发 :hover :focus .... 媒体查询 @media JS
相关属性
transition-property 指定要过渡的属性 用,隔开。默认是 all transition-duration 过渡持续时间 transition-timing-function 过渡线性效果 默认 ease transition-delay 过渡延迟 transition:property timing-function duration delay
3.8 CSS3动画
关键帧
@keyframes 动画名字 {
0% {
}
20% {
}
40% {
}
100% {
}
}
相关CSS属性
animation-name 指定动画的名字
animation-duration 动画的执行时间
animation-timing-function 执行效果速度
animation-delay 延迟
animation-iteration-count 循环 次数 infinite(无限)
animation-direction: alternate (正向 反向 交替) reverse(反向)
animation-play-state: running / paused
animation 复合属性