ANALYSIS
语法规范:
- 语法:
h1 {color:red; font-size:25px;}:h1选择器color:属性red:值- 需要写在头文件的
<style>标签内
- 需要写在头文件的
- 紧凑格式:
h1 {color:red; font-size:25px;} - 展开格式: h1 { colorInvalid admonition directive. (Admonition directives must be of block type ":::note{name="name"} <content> :::"); font-size:25px; }```
- 都是用小写
- 属性值前面,冒号和后面保留空格
- 选择器,如 p h1 后面也需要保留一个空格
- 选择器:
- 基础选择器:
- 标签选择器:使用标签名选择,如
ph1div等,将整个选择类型都进行修改 - 类选择器:单独指定某个或者某几个PRTCL // CSS/* 头文件 head 内#指定一个属性并命名为 sample*/<style>.sample {color: blue;}/* body 内#在标签中使用 class 调用类选择器 sample 的属性#可用于不同的标签类型 */<ul><li class="sample"> 冰雨 </li></ul><div class="sample"> 陈楚生 </div>
- 多类名:给一个标签贴上多个类名
- 类名之间需要用空格隔开PRTCL // CSS<head><style>.font-red {color: red;}.font35 {font-size: 55px;}</style></head><body><div class="font-red font35"> 刘德华 </div></body></html>
- 类名之间需要用空格隔开
- 多类名:给一个标签贴上多个类名
- id 选择器:PRTCL // CSS/* 定义 */<head><style>#id 名 {属性 1: 值 1;...}#pink {color: pink;}</style></head>/* 使用 */<body><div id="pink"> 迈克尔·杰克逊 </div>
- 每个 id 都是唯一的,只能调用一次
- 通配符选择器:
- 使用
*定义,*表示所有,将所有标签都定义为其值PRTCL // CSS<sylte>* {color: red;}</style>
- 使用
- 标签选择器:使用标签名选择,如
- 基础选择器:
- 复合选择器:
- 复合选择器是建立在基础选择器之上,由基础选择器组合而来
- 后代选择器:
- 可以选择父元素里面的子元素
- 从父到子依此书写,用空格隔开
父元素空格子元素{样式} ul li { }即可选择到ul元素下的li元素
- 子选择器
- 只选择最近一级的子元素
"亲儿子",不影响之下层级的元素
- 只选择最近一级的子元素
- 并集选择器
- 可以选择多组标签,同时定义样式,通过
,英文逗号连接多个标签 - 并集选择器每一个选中的选择都会
竖相排列
- 可以选择多组标签,同时定义样式,通过
- 伪类选择器
- 用于添加效果
- 用
:进行标识- 链接伪类:
a:link:选择所有未被访问的链接a:visited选择所有已经被访问的链接a:hover选择鼠标指针聚焦的链接a:active选择活动链接鼠标点击后还未弹起的链接- *TIPS:
- * 必须按照
linkvisitedhoveractive顺序编写 - 链接都有默认颜色,所以要单独指定样式
- 最常用的👇
PRTCL // CSS/*a 是标签选择器 所有的链接 */a {color:gray;}/* :hover 是连接伪选择器,鼠标经过 */a:hover {color: red;/* 鼠标经过,链接由灰变红 */} - * 必须按照
- *TIPS:
- focus 伪类选择器
- 用于获取焦点
- 链接伪类:
- 后代选择器:
- 复合选择器是建立在基础选择器之上,由基础选择器组合而来
字体属性
字体系列
font-family:"微软雅黑"PRTCL // CSS<head><style>h2 {font-family: ' 黑体 ';font-size: 30px;}p {font-family: 'Microsoft Yahei' 'Herago Sans GB';font-size: 20px;font-weight: bold;}</style></head><body><h2> 蜜桃成熟时 </h2><p> 那一抹最漂亮的粉 </p><p> 优雅,淡然,纯净 </p><p> 上吧,在不上人家就走啦!</p>```font-size: 20px:设定文字大小font-weight:文字粗细normalboldbolderloghter也可由 100~900 指定粗细如:font-weight: 700,提倡使用数字标记粗细normal=400bold= 700
font-style:文字样式normal默认显示italic倾斜显示
复合属性:
font: font-style font-weight font-size/font-height font-familyPRTCL // CSS
div { font: font-style font-weight font-size/line-height font-family } /必须严格按照 风格|粗细|字号|字体 顺序排列/
/案例/ h2 { font-style: normal; font-weight: bold; font-size: 30px; font-family: ‘Microsoft YaHei’; } /可以写为/ h2{ font: normal bold 30px ‘Microsoft Yahei’ } ```
文本属性
- 文本颜色
color: red;- 可以用颜色词如:
pinkbluegray - 可以用十六进制
#F3F3F3 - 可以用 RGB 代码
rgb(255,0,0)括号中的值分别对应三原色
- 可以用颜色词如:
- 对齐文本
text-align:只能用于水平对齐text-align:left左对齐right右对齐center居中
- 装饰文本
text-decoration:给文字添加下划线删除线下划线等装饰none默认’无’underline下划线overline上划线line-through删除线
- 文本缩进
text-indent:首段落缩进PRTCL // CSSdiv {text-indent: 32px;/* 缩进多少用值表示 */}```- `px`像素- `em`文字的大小
- 行间距
line-height:文字与文字之间的距离line-height: 25px使用像素为值,行高是包含文字大小的
CSS 引入方式
- 样式表
行内样式表 ( 行内式 )<divstyle="font-size: 20px"?>直接在标签中加入style属性,且使用"双引号包含需要设置的样式
- 内部样式表 ( 嵌入式 )
- 将所有需要的
css都放在<style>标签中 <style>标签于html文件中,一般于<head>标头中- 清晰直观,但是未与 html 分开不便管理
- 将所有需要的
- 外部样式表 ( 链入式 )
- 单独制作一个
css文件 ,然后将css引入html页面 - 在
html页面使用<link rel="stylesheet" href="css 文件路径">的方式引入 css 配置文件
- 单独制作一个
Emmet 语法
HTML快速生成- 标签直接输入标签名后 tab 即可,如
div后tab,可直接生成` - 标签后添加
*+数字则可以快速生成多个,如div*3可生成 3 个div - 父子级关系,可以直接用
>,比如ui>li - 兄弟级关系,可以用加号
+,例如div + p - 如果生成有类名字或者 ID 名字的
- 直接写
.demo,对应默认生成<div class="demo" - 直接写
#demo,对应默认生成<div id="demo"> - 也可以使用
p.one,则会生成<p class="one"
- 直接写
- 如果想要生成有顺序的,
.demo$5会生成从<div class="demo">一直到<div class="demo5"> - 想要在生成标签内写内容可以直接使用
{},div{demo 这是一个 demo}会生成<div>demo 这是一个 demo</div>
- 标签直接输入标签名后 tab 即可,如
CSS快速生成text-align: center;可以简写为tac,为各个单词首字母text-indent: 2em;可以简写为ti2emwidth: 100px=w100height: 20px=h20
元素的显示模式
- 就是元素 < 标签 > 以什么方式显示
- 块元素
独占一行高度\宽度\内外\边距可修改默认与父级宽度一致可以内置其他元素文字类标签不允许放置块级元素
- 行内元素
一行多个高宽无法直接修改默认宽度就是内容宽度只能容纳文字和行内元素- 链接内无法再放链接,可以把链接转换为块级元素
- 行内块元素
- 如
<img /><input /><td>等元素,同时具有块元素和行内元素的特点一行可显多个中间会有空隙默认宽度为内容的宽度宽高\内外边距都可修改
- 如
- 块元素
- 元素模式转换
- *
display:inline行内元素- *
block块级元素 - *
inline-block行内块元素
- *
文字居中
- 行高设置为盒子元素高度即可行高是包含文字本身高度的
CSS 背景
- 背景颜色
background-color- 可以设置透明
transparent或者颜色'color'属性
- 可以设置透明
- 背景图片
background-image- 和插入图片相比,好控制位置
background-image:url(#)none值则没有备件图片
- 图片平铺
background-repeat- 默认平铺
repeatno-repeatrepeat-xrepeat-y
- 图片位置
background-positionbackground-position: x yxy可以用值确认精确位置,必须先x位置再y位置,也可也指令某一个值为方位名词- 也可以用
topcenterbottomleftcenterright方位名词
- 图像固定
background-attachmentscroll:滚动fixed:固定
- 和插入图片相比,好控制位置
- 背景复合写法:
background:颜色 图片地址 平铺 是否滚动 位置background:white url(#) no-repeat fixed top
- 背景颜色半透明
background: rgba(0,0,0,0.3)设置 alpha 不透明度- 只更改背景色,不调整元素中的内容
三大特性
- 层叠行
- 样式冲突的情况下,多个样式按照顺序选择最后一个值
- 样式不冲突的不会层叠,直接多个样式同时执行
- 继承性
- 子标签会继承父标签的某些样式:
字号字符大小字体风格行高行间距`等 - 可以通过这个特性,直接修改
body样式,达到整个页面文字样式统一
- 子标签会继承父标签的某些样式:
- 优先级
- 指定多个选择器
- 选择器相同,样式层叠
- 选择器不同,根据选择器权重
!important 重要的>行内样式 style="">ID 选择器>类选择器,伪类选择器>元素选择器>继承或者 *
- 复合选择器会有权重叠加
- 选择更加精确会有更大的权重
div ul li>ul li>li - 继承的权重为
0!!!
- 选择更加精确会有更大的权重
- 指定多个选择器
盒子模型利用盒子摆样式
- 分析并准备好网页元素
- 利用 CSS 设置号每个盒子的样式,摆放到相应位置
- 填充盒子中的内容
- 组成部分
border-边框width:粗细,单位pxstyle:样式None无hidden隐藏dotted点线dashed虚线solid实线double双实线,两台先与其间隔的和等于指定的border-widthgroove根据border-color值画凹槽ridge根据~画菱形边框inset根据~画 3D 凹边outset根据~画 3D 凸边
color: 颜色- 一般写为:
border : border-width border-style border-color border: 25px solid black没有顺序要求collapse: 控制绘制表格的边框collapse合并- * 使用外边框,将会将盒子的空间扩展
content内容padding-内容和盒边距top:20px顶部距离边框 20 像素left:20px左侧距离边框 20 像素bottom:20px底部距离边框 20 像素right:20px右侧距离边框 20 像素padding:' 上 ' ' 下 'padding:10px 10pxpadding : 上 左右 下padding:10px 5px 10pxpadding: ' 上 ' ' 右 ' ' 下 ' ' 左 'padding: 10px 5px 10px 5px
padding内边距- 如果盒子本身没有指定宽高,此时
Padding的值则不会撑开盒子大小
- 如果盒子本身没有指定宽高,此时
margin外边距- 盒与盒的间距
- 以上内外边距二级参数均为
leftrighttopbottom margin: 5px 10px 15px 20px;复写顺序为上右下左
- 以上内外边距二级参数均为
- 外边距可以使盒子
水平居中- 只能给块元素使用
- 其余元素需要给父元素添加
text-align:center来达成居中
- 盒子必须指定的宽度
width - 左右边距必须是
auto默认- 常用居中设置
margin: 0 auto;
- 常用居中设置
- 嵌套元素的塌陷问题
嵌套的块元素,父子同时有上外边距时,会导致父元素``上外边距塌陷
- 为父元素定义上边框
border:1pxsolidtransparent;使用“transparent`添加一个透明边框- 会导致此盒子多出像素
- 为父元素定义上内边距
padding: 1px或者padding-top:1px- 会导致此盒子多出像素
- 为父元素添加 *
overflow:hidden- 此方���不会导致盒子有大小变化
- 盒与盒的间距
清除内外边距
- 每个不同的元素都带了不同的内外边距
- #必须写在
style中使用*{padding:0; margin:0;}来清除所有默认边框
圆角边框
border-radius:length值为半径,可以是值也可以是百分比- 圆形:正方形元素,把这个
值设置为边长的一半- 简写规则:
- 4 个值:
border:左上 右上 右下 左下值与上方规则一致 - 2 个值:
border:左上 右上会按照对角线生成圆角 - 指定某一个角,
border-top-left指定左上角
- 4 个值:
- 简写规则:
盒子阴影
box-shadow:h-shadow:水平阴影的位置.允许负数v-shadow:垂直阴影的位置.允许负数blur:模糊距离spread:阴影的大小color:阴影颜色inset:内部阴影- 阴影不影响盒子像素大小
文字阴影
text-shadow:h-shadow:水平阴影的位置.允许负数v-shadow:垂直阴影的位置.允许负数blur:模糊距离- color`:阴影颜色
CSS 浮动
- 属性:
- 可以改变标签默认的排列模式
- 可以让多个块级元素同行显示
- 竖向排列基本都是默认标签排列,
浮动基本用于横向排列 - 贴近到相近元素的边缘
load:noneleftright对应不浮动左浮动右浮动- 特性
- 浮动元素会脱离标准流
- 浮动的盒子不再保留原先的位置
- 原本的位置会被相邻标签元素替代
- 如果父元素无法包含浮动元素,剩下的元素会另起一行
- 浮动元素会具有行内块元素的特性
浮动元素经常和``标准流``父级搭配使用- 为了约束浮动的元素,先采用标准流父级排列上下,在用浮动排列左右
- 浮动元素会脱离标准流
- 注意:同一个方块中的元素,只要有一个标签浮动,那都需要浮动,不然会出问题
- 浮动的盒子指挥影响后面代码的标准流,不会影响到前面的标准流
- 清除浮动
- 本质是为了清除浮动所带来的其他影响
- 如果父盒子本身有高度就不需要清除浮动
- 清除浮动之后,父级就会根据子级的高度自动调整高度
clear:left:清除左侧right:清除右侧both:都清除
- 如何使用:
- 额外标签法称之为隔墙法,是 W3C 推荐的做法
- 在浮动标签的末尾添加一个空标签PRTCL // CSS<div style=" clear:both" > </div>/* 或者 */<br />/* 只要是空标签皆可 */
- 优点:通俗易懂,书写简单.
- 缺点:添加许多无意义标签,结构差
- 要求添加的空元素必须是一个块级元素
- 在浮动标签的末尾添加一个空标签
- 父级添加 overflow 属性
- 添加
overflow元素,属性值设置为hiddenautoscrll皆可auto自动hidden删除浮动,无法查看溢出部分scrll删除浮动,显示拖动条
- 优点:代码简洁
- 缺点:无法显示出溢出的部分
- 添加
- 父级添加 after 伪元素
:afterPRTCL // CSS.clearfix:after{content:"";display:block;height:0;clear:both;visibolity:hidden;}.clearfix{ /* IE6 IE8 专用 */*zoom: 1;}
- 父级添加双伪元素PRTCL // CSS.clearfix:before, .clearfix:after {content:"";display:table;}.clearfix:after{clear:both;}.clearfix {*zoom:1;*}
- 额外标签法称之为隔墙法,是 W3C 推荐的做法
CSS 书写顺序
- 布局定位:
displaypositionfloatclarvisibilityoverflow( 建议 display 第一个写,关系到整个页面的模式 ) - 自身属性:
widthheightmarginpaddingborderbackground - 文本属性:
colorfonttext-decorationtext-alignvertical-alignwhite-spacebreak-word - 其他属性:
contentcursorborder-radiusbox-shadowtext-shadowbackground:linear-geadient...
- 数学顺序:
整体布局元素自身属性元素内文本属性美化属性
R P
Rhine Lab Pioneer Division
Auth_Verified: 2026.04.08
Auth_Verified: 2026.04.08
