HTML 总结学习

HTML元素

脱标元素

  • 特点
  • 可以随意设置宽高
  • 如果没有设置宽高,宽高由内容决定
  • 不再受标准流(normal flow)的约束
  • 不再严格区分块级元素、行内级元素
  • 元素内部默认还是按照标准流
  • 哪些元素是脱标元素
  • 浮动元素
  • float:left
  • float:right
  • 浮动元素之间不能层叠
  • 浮动元素不能跟行内级内容层叠
  • 绝对定位元素
  • position:absolute
  • position:fixed
  • 通过z-index可以设置元素的层叠顺序
  • 非脱标元素
  • 块级元素(基本都是非替换)
  • div、p、pre、table、form、h1~h6
  • ul、li、ol、dl、dt、dd
  • header、footer、nav、section、article、aside
  • 独占一行
  • 可以随意设置宽高
  • 如果不设置高度,高度默认由内容决定
  • 行内级元素
  • 替换元素
  • img、input、iframe、canvas、object
  • video、audio
  • 可以跟其他行内级元素在同一行显示
  • 可以随意设置宽高
  • 非替换元素
  • span、strong、a、em、i
  • 可以跟其他行内级元素在同一行显示
  • 不可以随意设置宽高
  • 如果不设置宽高,宽高默认由内容决定
  • inline-block
  • 可以跟其他行内级元素在同一行显示
  • 可以随意设置宽高
  • 如果不设置宽高,宽高默认由内容决定

CSS属性

  • 盒子模型
  • width、min-width、max-width
  • height、min-height、max-height
  • padding、padding-top、padding-right、padding-bottom、padding-left
  • margin、margin-top、margin-right、margin-bottom、margin-left
  • border、border-top、border-right、border-bottom、border-left
  • 可以利用边框生成三角形
  • box-sizing
  • content-box
  • width不包括padding和border,height不包括padding和border
  • border-box
  • width = padding + border + 内容宽度
  • height = padding + border + 内容高度
  • box-shadow
  • box-shadow: 2px 5px 10px 7px rgba(0,0,0,.2) inset
  • 2px:向右偏移2px
  • 5px:向下偏移5px
  • 10px:模糊半径(模糊度,这个值越大,越模糊)
  • 7px:扩散半径(值越大,扩散范围月光)
  • inset:阴影显示到元素内部(如果不加inset,看显示在元素外部)
  • overflow
  • visible:溢出内容仍然可见
  • hidden:溢出内容直接隐藏
  • scroll:会一直显示水平、垂直方向的滚动条
  • auto:会自动根据内容的溢出情况来决定是否显示滚动条
  • 对于行内级非替换元素(span、strong、a等)
  • margin-top、margin-bottom不起作用
  • padding-top、padding-bottom、border-top、border-bottom的效果比较特殊
  • 对于块级元素(比如div、p等)
  • 存在margin-top、margin-bottom传递的问题(传递给块级父元素)
  • 存在margin-top、margin-bottom折叠问题(margin collapse)
  • 包含块的宽度 = margin-left + margin-right + 块级元素实际占用的宽度
  • 定位
  • position
  • static
  • 默认(非定位元素)
  • 不脱离标准流
  • 不能通过left、right、top、bottom调整位置
  • relative
  • 相对定位(定位元素)
  • 不脱离标准流
  • 可以通过left、right、top、bottom调整位置
  • 定位参照对象是自己原来的位置
  • absolute
  • 绝对定位(定位元素,绝对定位元素)
  • 脱离标准流
  • 可以通过left、right、top、bottom调整位置
  • 定位参照对象
  • 最邻近的定位祖先元素(从祖先元素中找到最邻近的定位元素)
  • 如果找不到这样的祖先元素,那么就参照视口(viewport)
  • 很多情况下,子元素都会参照父元素进行绝对定位,常用做法是:子绝父相
  • 子元素:position: absolute
  • 父元素:position: relative
  • fixed
  • 固定定位(定位元素,绝对定位元素)
  • 脱离标准流
  • 可以通过left、right、top、bottom调整位置
  • 定位参照对象
  • 视口(viewport)
  • 对于绝对定位元素来说
  • 包含块的宽度 = left + right + margin-left + margin-right + 元素的实际占用宽度
  • 包含块的高度 = top + bottom + margin-top + margin-bottom + 元素的实际占用高度
  • 对于定位元素来说
  • 有时候会利用left、margin-left联合使用来让一个元素水平居中
  • left: 自己宽度的一半乘以负一
  • margin-left: 50%
  • 文字
  • color:前景色(文字颜色、边框颜色、文字装饰线颜色,#fff、#ffffff、rgb(255,255,255)、rgba(255,255,255,.5))
  • text-align
  • 设置元素的内容在元素中的水平位置
  • left:左对齐
  • right:右对齐
  • center:居中
  • text-indent
  • 一般用来设置首行文本的缩进
  • 常见用法
  • text-indent: 2em
  • 刚好缩进2个文字
  • text-decoration
  • 设置文字装饰线
  • underline:下划线
  • line-through:删除线(比如电商网站的原价)
  • none:去除删除线
  • text-overflow
  • 设置隐藏掉的溢出文字内容的表现形式
  • clip:溢出的内容直接裁剪
  • ellipsis:溢出的内容用省略号显示
  • 让一个元素永远只显示一行文字,并且溢出部分显示省略号

white-space: nowrap; /* 永远只显示一行文字 /
overflow: hidden; /
隐藏溢出的内容 /
text-overflow: ellipsis; /
隐藏掉的内容用省略号来表示 */

- 字体
- font-family:字体名称
- 可以设置多个字体名称,它们之间用逗号隔开
- 一般英文字体写在前面,中文字体写在后面
- font-weight:设置轻重(粗细)
- 100~900
- bold:700
- normal:400
- font-size:设置字体大小
- font-size: 10px
- font-size: 10%
- 使用父元素的font-size乘以10%
- 继承父元素的font-size时,继承的是计算值,不是直接继承10%
- font-size: 0.5em
- 使用父元素的font-size乘以50%
- width: 2em
- 使用自己的font-size乘以2
- line-height
- line-height: 20px
- line-height: 20%
- 使用自己的font-size乘以20%
- line-height: 2em
- 使用自己的font-size乘以2
- line-height: 2
- 使用自己的font-size乘以2
- 如果希望一行文字垂直居中,常见做法是
- 设置line-height和height保持一致
- font-style
- normal:正常
- italic:斜体
- oblique:倾斜
- font
- 简写属性
- font-size/line-height font-family
- 背景
- background-color:背景色
- background-image:背景图片
- background-repeat
- repeat
- repeat-x
- repeat-y
- no-repeat
- background-position
- background-position: 10px 20px
- background-position: right top;
- background-position: center top;
- background-size:设置背景图片的大小
- background:简写属性
- background: url("1.png") no-repeat left top/20px 20px #f00;
- CSS Sprite
- 精灵图片
- 雪碧图片
- 动画
- transition
- 用于决定哪些CSS属性需要参与动画
- transition: all 2s;
- 所有可动画CSS属性的修改,都会在2s的时间内通过动画完成
- transform
- 平移
- translateX(10px)
- translateY(30px)
- translate(10px, 30px)
- 缩放
- scaleX(0.5)
- scaleY(0.5)
- scale(0.5)
- 旋转
- rotate(45deg):二维平面旋转
- rotateX(45deg):绕着x轴旋转
- rotateZ(45deg):绕着Z轴旋转(跟rotate()类似)
- rotateY(45deg):绕着Y轴旋转
- transform: translate(20px, 30px) scale(0.5) rotate(45deg);
- animation
- 使用步骤
- 创建动画
- ```
@keyframes my-anim1 {
from {
}
to {
}
}
@keyframes my-anim2 {
0% {
}
20% {
}
60% {
}
100% {
}
}
  • 使用动画
  • animation-duration:动画的持续时间
  • animation-name:动画名称
  • animation-iteration-count:动画执行次数
  • infinite:代表无限次数执行
  • animation-timing-function:动画的执行节奏
  • animation:简写属性
  • animation: my-anim 2s infinite
  • 3D透视

/* 给父元素增加 */
transform-style: preserve-3d;
perspective: 500px;

posted @ 2021-03-15 11:22  AAAAAAAAA123123  阅读(7)  评论(0编辑  收藏  举报