Part 1 · HTML5 网页开发-02第二章 CSS 核心样式、H5 + C3 新特性第一节 CSS核心样式CSS核心样式 font-weight
- CSS常用样式属性: font-weight
- 作用:font-weight 设置字体的粗细
属性值 | 说明 |
---|---|
normal | 默认字体大小,标准版 |
bold | 粗体字,b、strong的默认值 |
bolder | 定义更粗的字体 |
lighter | 定义更细的字体 |
100 | 定义由细到粗的字符 |
200 | |
300 | |
400 | 400等同于normal |
500 | |
600 | |
700 | 700等同于bold |
800 | |
900 | |
inherit | 规定应该从父元素继承字体粗细 |
- 作用:设置文字的风格
属性值 | 说明 |
---|---|
normal | 正规字体 |
italic | 设置斜体文字,主要用于英文 |
oblique | 设置倾斜文字,只是将文字倾斜,和字体无关 |
- 作用:line-height设置行高,font-size设置字体大小之后,有默认的行高,如果改变默认行高,需要line-height来修改
属性值 | 说明 |
---|---|
px像素值 | 设置行高具体的像素值 |
百分比数值 | 设置本身字体的百分比值,100%就是原本大小,200%就是2倍字体大小 |
- 回忆5个字体单一属性: font-family 、font-size 、font-weight、 font-style 、line-height
- 为了减省代码量,提高书写效率,如果某字体被定义多个属性,可以采用综合属性写法
- 同时设置字号、字体 (字号必须在前面,字体在后面,不能颠倒)
- 同时设置字号、字体、行高(书写顺序必须是行高、字号、字体,且行高和字体之间用/隔开)
- 同时设置字号、字体、行高、加粗、斜体(书写顺序必须是行高、字号、字体在后面,且行高和字体之间用/隔开,加粗、斜体写在前面,加粗、斜体可以换顺序
- text-align 文本对齐
属性值 | 说明 |
---|---|
left | 整个文本向左对齐 |
right | 整个文本向右对齐 |
center | 整个文本居中 |
- text-decoration 文本装饰(加或不加线条)
属性值 | 说明 |
---|---|
onoe | 没有修饰 |
overline | 上划线 |
line-through | 中划线,删除线,del标签的默认值 |
underline | 下划线 |
- 文本缩进text-indent
属性值 | 说明 |
---|---|
px单位 | 表示首行缩进多少px单位像素(按像素值缩进平时不太常用) |
em单位 | 倍数,自动参考一个文字的大小宽度,以文字大小宽度为字符来缩进,好处:根据文字变大而变大,文字变小而变小,2em实现首行缩进2个字符 |
百分比单位 | 不太常用,参考的盒子width宽度,按盒子宽度的百分度来缩进 |
- 盒模型
- 概述:盒模型也称为框模型,包含5个属性: width 宽 height 高 border 边框 padding 内边距 margin 外边距 (盒子跟外部盒子之间的边距)
- 常见盒模型区域 :
- 书写元素内容区域:width+height
- 盒子实体化区域:width+height+padding+border
- 盒子实际占的位置:width+height+padding+border+margin
属性值 | 说明 |
---|---|
auto | 默认值,浏览器根据实际情况计算宽度 |
px | 像素值定义的宽度(固定值) |
% | 参考父元素宽度width的百分比来定义的宽度 |
等需要独占一行的元素,不设置width时,它的宽度值会自动撑满父元素的width区域
等不需要独占一行的元素,不设置width时,它的宽度根据元素内部的内容来决定,内容撑开有多宽,就是多宽
元素比较特殊。不需要设置width属性,宽度会自动适应浏览器的宽度
属性值 | 说明 |
---|---|
auto | 默认值,浏览器根据实际情况计算高度 |
px | 像素值定义的高度(固定值) |
% | 参考父元素宽度height的百分比来定义的高度 |
- 作用:设置元素的内边框,就是边框内部到宽高区域之间的距离
- 特点:能渲染背景
属性值 | 说明 |
---|---|
px | 像素值定义的距离 |
padding-top
:
10px
;
padding-right
:
10px
;
padding-bottom
:
10px
;
padding-left
:
10px
;
复合型写法(定义顺序:逆时针):padding
:
10px
20px
30px
40px
;
//
padding
:
10px
20px
30px
;
//
padding
:
10px
20px
;
//
padding
:
10px
;
//
复合属性和单一属性可以叠加书写 如:padding
:
10px
;
padding-left
:
20px
;
意思为:左边距20px,其他所有边距10px. 注:单一属性必须写在复合属性后面,才能层叠掉复合属性中重复的部分1CSS常用样式-盒模型属性 border- border盒模的边框
属性值 | 说明 |
---|---|
width | 线的宽度 |
style | 线的形状 |
color | 线的颜色 |
- border-width 定义 边框四边的宽度,四值写法类似padding
- border-style (属性值:实线solid 虚线dashed 无边框none 凹陷槽3D效果groove3D效果 ridge 等等)3D效果容易出现兼容问题,四值写法类似padding,每条边可以设置不同属性值,中间用空格
- border-color 四值写法类似padding,四边可以设置不同颜色
- 作用:设置盒子与盒子之间的距离
- 特点:不能渲染背景
- 属性值:px 应用书写方式和padding一样
- 举例:删除默认的内外边距
- 标签选择器并集方式
p
,
p
,
h1
,
p
,
h3
{
margin
:
0
px
;
padding
:
0
px
;
}
2. 通配符方式*
{
margin
:
0
px
;
padding
:
0
px
;
}
遇到不同的标签文字样式,清除的属性值会不同,根据实际情况来1盒模型扩展属性-height的应用- 盒子高度的应用 根据不同的需求,盒子的高度可以设置也可以不设置(实际工作中,根据项目设计来定) 如果不设置,会根据标签内部内容高度自动撑开 如果设置,盒子高度就固定死了,后面同级元素会紧挨着加载 在设置了盒子固定高度的情况下,里面的文字太多的时候,盒子是装不下的,就会出现文字溢出现象
属性值 | 说明 |
---|---|
visible | 默认值,溢出部分可见的(全部溢出在页面) |
hidden | 把溢出的文字部分进行隐藏,超过盒子边框的全部被隐藏 |
scroll | 水平+垂直方向加滚动条,隐藏溢出部分,可以拖动滚动条查看 |
auto | 自动的,如果没有溢出就正常显示,如果溢出,溢出的方向就自动出现滚动条 |
- 文本居中:text-align:center; (无论单行或多行都可以设置)
- 单行文本垂直居中:让文字行高line-height等于盒子的高度
- 多行文本垂直居中:设置元素高度自适应或者高度正好等于多行文字撑起来的行高,然后设置盒子上下内边距padding为相同值,实现多行文本垂直居中
- 让父元素内嵌套的元素垂直居中,和多行文本垂直居中的方式类似,设置父元素高度自适应,子元素高度自动撑开父元素高度,给父元素设置上下内边距padding为相同值
- 针对类似于
样式上必须独占一行的盒子,如果子盒子低于父盒子的宽度,可以设置子盒子的margin值,水平方向的值都设置成auto,自动撑满整个父元素除了子元素宽度外的剩余区域
- 父子盒模型:父子盒子里面可以装一个或者多个儿子盒子
- 条件:父元素的width≥所有子元素的width+padding+margin+border 注意: 如果不满足条件,父盒子里面多余的子元素要么溢出父盒子,要么跟其他的儿子不在一行,会掉到下一行
- 垂直方向的margin,两个元素的margin边相遇时,数值小的塌陷到数值大的那一边,不是两个margin值相加 水平方向的margin,不会有塌陷 父子元素也会出现塌陷现象,同理,小的值塌陷到大的值那边
- 同级元素:2个元素遇到塌陷问题,只需要设置其中一边的margin值就可以了,不用两边都设置
- 父子元素:让父子的两边不要相遇,用其中一个padding或者border将间距隔开
- HTML(是一种标准的文档流文件)
- 标准的文档流特点有2种方式体现:微观现象+元素等级 微观现象:空白折叠现象、自动换行现象、文字类元素若排在一行,会出现高低不齐,底边对齐现象 元素等级: 标准流中,大部分元素是区分等级的,几种常见的加载级别: 块级元素、行内元素、行内块元素
- 块级元素:大部分容器级标签包括p标签都是块级元素,比如
、
- 行内元素:大部分文本级标签,比如
标签 - 行内块元素:比如
- 标准文档流:指元素在排版布局过程中,元素默认自动从左至右,从上至下的流式排列方式。
前面内容发生变化,后面内容的位置也发现变化 标准文档流中,大部分元素是区分等级的,几种常见的加载级别: 块级元素、行内元素、行内块元素 块级元素: 可以设置长宽高,并且独占一行,不能与其他标签并列一行,如果块级元素不设置宽度,会自动撑满夫级的width区域,不设置高度,会被内容自动撑开 行内元素: 行内元素不能正常加载高度和宽度,行内元素可以跟其他行内或者行内块元素拍成一行显示 行内块元素: 可以设置宽度和高度,可以与行内的块元素拍成一排显示
属性 | 作用 |
---|---|
block | 把元素设置成块级元素加载 |
inline | 把元素设置成行内元素加载 |
inline-block | 把元素设置成行内块模式加载 |
none | 表示隐藏标签内的内容以及标签,让出原有标准流的位置 |
- 浮动(一种非常重要的布局属性)
属性名 | 属性值 |
---|---|
float | left |
float | right |
- 浮动的性质(浮动元素没有margin塌陷,margin塌陷现象出现在标准流中,因为浮动元素已经脱离了标准流,所以不会有margin塌陷现象) 浮动的元素会让出标准流的位置,留给下一个同级元素占位
- 字围现象:同级元素中,前面元素浮动,后面元素不浮动且元素内有很多文字,这种情况会出现字围现象。
(后面元素内的位置围绕前面元素显示)
- 解决浮动存在的问题的方法:
- 设置父元素高度和子元素一样高(方法有局限性,治标不治本)
- 清除浮动影响,clear属性,作用(清除标签元素自身受到的前面浮动元素的影响)
属性名 | 属性值 | 作用 |
---|---|---|
clear | left | 清除前面元素左边浮动带来的影响 |
clear | right | 清除前面元素右边浮动带来的影响 |
clear | both | 清除前面所以浮动带来的影响 |
- 外墙法:在两个父级元素之间加个
例如:
.
clear
{
clear
:
both
;
>
}
缺点: 解决不了父元素高度自适应- 内墙法:在父元素内部,所以浮动子元素后加个空的
,标签高度设置为0,添加clear属性 能解决父元素高度自适应
- 伪类清除浮动影响法 伪类法清除浮动的本质和内墙法一致,只是把HTML标签的书写改成了CSS代码书写内墙 书写方法: 伪类选择器:通过选中的标签添加伪类,去选择标签的某个状态或者位置 :after 此伪类表示选中的标签内部的最后的位置 注意(:after的前面要紧跟着7类选择器)
.
clearfix
:
after
{
content
:
"1"
;
添加一个文字内容
display
:
block
;
将文字转化为块元素
height
:
0
;
将盒子高度固定为0,避免影响父盒子的高度
clear
:
both
;
清除前面浮动的影响
visibility
:
hidden
;
将创建的元素隐藏并继续占有位置
}
- 溢出隐藏,overflow属性 这是一个小偏方,和清除浮动没啥关系,但是很好用,不添加任何清除浮动属性的情况下,就在父盒子里面加一条overflow:hidden,就解决了浮动影响问题 例如:
.
box
{
width
:
800
px
;
margin-bottom
:
10
px
;
border
:
10
px
solid
rgb
;
overflow
:
hidden
;
}
总结: 如果父元素的高度是固定的,建议用height属性解决 如果父元素高度需要自适应,建议使用overflow属性解决浮动问题2a标签伪类- 伪类的概念: 伪类和类的权重是一样的 伪类和类有一定的相似处,也存在明显的区别 写法不同 只有用户触发了对应的行为,伪类的样式才会立即记载 例如a标签的伪类状态,书写顺序如下(改顺序会影响加载效果)
a
:
link
{
color
:
gray
;
访问前的状态,a标签内容显示为灰色
}
a
:
visited
{
color
:
pink
;
访问后的状态,a标签内容显示为粉色
}
a
:
hover
{
color
:
red
鼠标悬浮状态,
a标签内容显示为红色
}
a
:
active
{
color
:
yellow
;
鼠标点击的状态,a标签内容显示为黄色
}
实际应用中,一般把访问前和访问后的状态设置成一样的效果 例如:a
:
link
,
a
:
visited
{
color
:
#666
;
}
a
:
hover
{
color
:
#333
;
}
29、CSS常用属性-背景样式属性- 背景样式属性为综合属性,和font类似的,也可拆分成单一属性
属性名 | 作用 | 属性值 |
---|---|---|
background-color | 背景颜色,border及border以内加载 | |
background-image | 背景图片,border及border以内加载 | url |
background-repeat | 背景重复 | 设置成no-repeat时,border以内加载图片 |
background-position | 背景定位 | 单次表示法、像素表示法、百分比表示法,属性值中间用空格分隔 |
background-attachment | 背景附着,设置背景图片是否随着页面或者盒子滚动而滚动 | scroll、fixed |
body
{
background
:
url
no-repeat
center
top
scroll
#333
;
}
注意:- 如果属性值没有设置完全,没有设置的单一属性会按照默认值加载
- 如果想层叠综合属性的一部分,其他属性保持不变,最好使用单一属性进行层叠
- 背景图替换标签的插入图,用css的background-image 替换html中的
- padding区域背景图(根据实际情况灵活应用)
- 精灵图(又称CSS雪碧、css SpritesS),网上自行制作 将网页中所有需要到的小图片放在一张图里面.png 再根据背景定位选择需要记载的一部分进行定位
属性名 | 属性值 |
---|---|
background-color | rgba,在rgb基础上增加了alpha |
background-size | px值、百分比、cover、contain |
属性名 | 属性值 |
---|---|
position | ralative 相对定位 |
position | obsolute 绝对定位 |
position | fixed 固定定位 |
- 不会脱离标准流,不会让出自己原来的坑位给其他元素 参考元素是自己,通常按left top 来书写定位
- 场景应用: 导航条应用
- 会脱离标准流,设置了绝对定位的元素,会让出自己原来占的坑给其他元素使用 参考元素是距离最近的有定位的祖先元素,如果祖先元素没有定位,参考
- 参考
时 如果top参与定位,参考点是body页面的左上角left和右上角right 如果buttom参与定位,参考点是body页面首屏的左下角left顶点或右下角顶点right
为参考元素,因为不同浏览器中,绝对定位的元素位置是不同的 通常使用子绝父相4固定定位:- 会脱离标准流,让出自己的坑位 参考元素为浏览器窗口(浏览器窗口的四个顶点)
- 所有的定位类型都可以实现压盖效果,常用绝对定位制作压盖效果
- 定位的实际应用---居中效果 用百分比写法 例:
a
{
display
:
block
;
width
:
50
px
;
height
:
20
px
;
background-color
:
pink
;
position
:
absolute
;
left
:
50
%
;
距离左边50%距离
top
:
50
%
;
距离上边50%距离
margin-left
:
-25
px
;
往回拽元素宽度的一半
margin-top
:
-10
px
;
往回拽元素宽度的一半
}
4定位压盖顺序- z-index属性 定位的元素不区分定位类型,都会去压盖标准流或浮动元素 如果都是定位元素,在HTML中后写的定位压盖先写的定位 自定义压盖顺序z-index属性,属性值:数字 属性值大的会压盖属性值小的,设置了属性值的会压盖没设属性值的 z-index属性只能设置给定位的元素才能生效,如果给没有定位的元素设置,不会生效
- 代码练习
- 狭义概念:HTML的修改升级版,增加了很多新的语义特性
- 广义概念:CSS+javascript+html总称 优势很多 缺点:IE9以下的浏览器不兼容
- 把网页划分成几块有更对语义化的模块
头部标签导航标签
article>
主体标签
尾部标签
- 这种语义化标签主要针对搜索引擎的
- 这些新的标签在页面中可以使用多次
- 在IE9中,需要把这些元素转换为块级元素
音频标签属性名 | 属性值 | 说明 |
---|---|---|
autoplay | autoplay | 自动播放 |
controls | control | 向用户显示控件,比如播放按钮(需要设置才会显示) |
loop | loop | 音频结束时,重新开始播放 |
preload | preload | 随着页面加载同时加载音频(若用了autoplay,则忽略该属性 |
src | url | 要播放的音频的url |
格式 | MIME-type | IE | Firefox3.0 | Opera10.0 | Chrome3.0 | Safari3.0 |
---|---|---|---|---|---|---|
Ogg | audio/mpeg | √ | √ | √ | ||
MP3 | audio/ogg | √ | √ | √ | ||
Wav | audio/wav | √ | √ | √ |
<
audio
controls
>
<
source
src
=
"media/song.mp3"
type
=
"audio/mpeg"
>
<
source
src
=
"media/song.ogg"
type
=
"audio/ogg"
>
您的浏览器版本过低,不支持音频播放,建议升级audio
>
HTML5中的
视频标签属性名 | 属性值 | 说明 |
---|---|---|
autoplay | autoplay | 自动播放 |
controls | control | 向用户显示控件,比如播放按钮(需要设置才会显示) |
loop | loop | 音频结束时,重新开始播放 |
preload | preload | 随着页面加载同时加载音频(若用了autoplay,则忽略该属性 |
src | url | 要播放的音频的url |
width | 像素值 | 设置播放器宽度 |
height | 像素值 | 设置播放器高度 |
poster | imgurl | 加载等待的画面图片 |
muted | muted | 静音播放 |
格式 | MIME-type | IE | Firefox | Opera | Chrome | Safari |
---|---|---|---|---|---|---|
Ogg | video/ogg | 3.5+ | 10.5+ | 5.0+ | ||
MP4 | video/mp4 | 9.0+ | 5.0 + | 3.0+ | ||
webm | video/webm | 4.0+ | 10.6+ | 6.0+ |
输入标签例:<
form
>
请输入邮箱:<
input
type
=
"emal"
><
br
/>
请输入url地址:<
input
type
=
"url"
><
br
/>
请输入日期: <
input
type
=
"date"
><
br
/>
请输入时间:<
input
type
=
"time"
><
br
/>
请输入月份:<
input
type
=
"month"
><
br
/>
请输入周数:<
input
type
=
"week"
><
br
/>
请输入数字:<
input
type
=
"number"
><
br
/>
滑动条<
input
type
=
"range"
><
br
/>
请输入手机:<
input
type
=
"tel"
><
br
/>
搜索框:<
input
type
=
"search"
><
br
/>
颜色:<
input
type
=
"color"
><
br
/>
<
input
type
=
"submit"
>
form
>
HTML5中新增可输入标签
城市:<
input
type
=
"text"
list
=
"guanlian"
>
<
datalist
id
=
"guanlian"
>
<
option
value
=
"重庆"
>
重庆.渝中区option
>
<
option
value
=
"重庆"
>
重庆.永川区option
>
<
option
value
=
"成都"
>
成都.武侯区option
>
<
option
value
=
"成都"
>
成都.锦江区option
>
<
option
value
=
"上海"
>
上海.黄浦区option
>
<
option
value
=
"上海"
>
上海.浦东区option
>
<
option
value
=
"北京"
>
北京.海定区option
>
datalist
>
HTML5中新增表单属性属性名 属性值 描述 required required 定义了某属性的表单控件内的内容必须填写 placeholder 提示文本 设置表单的提示信息(如果之前有设置默认值,就不显示,不存在默认值,就显示该属性设置的提示信息 autofocus autofocus 自动聚焦属性,常用在搜索框里面(自动闪烁的光标),通常一个页面放一个 autocomplete off/on 根据历史搜索记录,在输入框输入首字母,会自动显示历史相关联的记录,提高用户体验,打开成功的条件:需要在表单内同时加上name属性,同时提交成功 multiple multiple 可以选择多文件提交
例:<
input
type
=
"text"
autocomplate
=
"off"
name
=
"lishijilu"
>
autocomplete搜索历史记录<
input
type
=
"file"
>
只能上传单个文件<
input
type
=
"file"
multiple
=
"multiple"
>
multiple 可以上传多个文件
第三节 CSS3子级选择器- 跟后代选择器区别:子集选择器只能选儿子,不能隔代选 书写方式: .fuqin > son 例:
.fuqin>p { background-color: pink; } <
p
class
=
"fuqin"
>
<
p
>
这是fuqin里面的p标签p
>
<
p
>
这是fuqin里面的p标签p
>
<
p
class
=
"mama"
>
<
p
>
这是mama里面的p标签p
>
p
>
p
>
兄弟选择器- 同级之间的选择 书写方式:
- 元素1+元素2 同级元素中,元素1紧跟着后面的那一个元素2 选择结果:只会作用于紧跟元素1后面的元素2
- 元素1~元素2 同级元素中,元素1后面的所有元素2 例如:
.fuqin p+h3 {background-color: pink; /三级标签被选中/ }.fuqin p~p {background-color: yellow;/所有p标签被选中/}<
p
class
=
"fuqin"
>
<
p
>
二级标签p
>
<
h3
>
三级标签h3
>
<
h4
>
四级标题h4
>
<
p
>
段落1p
>
<
p
>
段落2p
>
<
p
>
段落3p
>
p
>
3-结构伪类选择器写法:.
fuqin
:
first-child
{
/父亲元素里面的所有儿子的第一个/
background-color
:
red
;
}
.
fuqin
:
last-child
{
/父亲元素里面的所有儿子的最后一个/
background-color
:
gray
;
}
.
fuqin
:
nth-child
{
/父亲元素里面的所有儿子的第n个/
background-color
:
yellow
;
}
.
fuqin
p
:
first-of-type
{
/父亲元素里面同类型儿子的第一个/
background-color
:
blue
;
}
.
fuqin
p
:
last-of-type
{
/父亲元素里面同类型儿子的最后一个/
background-color
:
green
;
}
.
fuqin
p
:
nth-of-type
{
/父亲元素里面同类型儿子的第n个/
background-color
:
pink
;
}
<
p
class
=
"fuqin"
>
<
h1
>
标题一
颜色
:
红色
h1
>
<
p
>
段落1
颜色
:
蓝色
p
>
<
p
>
标题二
p
>
<
p
>
段落2
颜色
:
黄色
p
>
<
p
>
p
>
<
p
>
段落3
颜色
:
粉色
p
>
<
p
>
段落4
p
>
<
p
>
段落5
p
>
<
p
>
段落6
p
>
<
p
>
段落7
p
>
<
p
>
段落8
颜色
:
绿色
p
>
<
h3
>
标题三
颜色
:
灰色
h3
>
p
>
新增伪元素选择器- 写法:在选择器后面用双冒号::(这是HTML5中的规范,传统写法是单冒号:)
- 注意:伪元素只能给双标签添加,不能给单标签添加 伪元素内部必须加conten:"";
- 为什么叫伪元素?因为确实创建了元素,在HTML结构中能看到这个元素,但是后面JS的DOM里面看不见创建的这个元素
例:盒子里面装几个元素,给盒子内部不同位置添加伪元素 .
fuqin
{
width
:
400
px
;
border
:
2
px
solid
pink
;
}
.
fuqin
p
:
nth-of-type
{
display
:
block
;
width
:
100
px
;
height
:
100
px
;
background-color
:
yellow
;
margin
:
10
px
;
}
.
fuqin
::
before
{
/在父亲盒子内的第一个元素前面加伪元素/
content
:
"这是一段话"
;
display
:
block
;
background-color
:
red
;
}
.
fuqin
::
after
{
/在父亲盒子内的最后个元素后面加伪元素/
content
:
"1"
;
display
:
block
;
background-color
:
red
;
}
.
d
::
first-letter
{
/选择了这个容器里面的第一个字/
color
:
red
;
}
.
d
::
first-line
{
/选择了这个容器里面的第一行/
color
:
red
;
}
<
p
class
=
"fuqin"
>
<
p
class
=
"d"
>
这是一个段落
,
还是一句话
,
还是一段文字
p
>
<
p
>
p
>
<
p
>
p
>
<
p
>
p
>
p
>
新增属性选择器写法:选择一个元素,然后加[]符号 例如: input
[
class
]
{
/选择元素中class这个类//
height
:
20
px
;
}
input
[
type
=
week
]
{
/选择元素中type这个类里面属性值为week这个标签/
height
:
100
px
;
}
input
[
type
^=
e
]
{
/选择元素中type这个类里面属性值有e开头的这个标签/
height
:
150
px
;
}
input
[
type
$=
h
]
{
/选择元素type这个类里面属性值有h结尾的这个标签/
width
:
400
px
;
}
input
[
class
*=
o
]
{
/选择元素class这个类里面属性值中只有包含着有o这个字母的标签
background-color
:
pink
;
}
<
form
>
<
input
type
=
"email"
class
=
"you"
>
<
input
type
=
"search"
class
=
"sou"
>
<
input
type
=
"number"
class
=
"shu"
>
<
input
type
=
"week"
class
=
"zhou"
>
form
>
盒模型- 新增属性:box-sizing
- 属性值:content-box(标准模式) boder-box(怪异模式) 例:
p
{
width
:
300
px
;
height
:
300
px
;
background-color
:
pink
;
padding
:
10
px
;
border
:
2
px
solid
yellow
;
box-sizing
:
content-box
;
/按照标准模式加载,除了内容区300*300以外的区域都外扩,这个模式下,修改border、padding值时,占据的数字都往外扩/
box-sizing
:
border-box
;
/按照怪异模式加载,包含border及以内的区域总共宽高为300*300,这个模式下,修改border、padding值时,占据的数字都往内减/
}
CSS3中边框圆角属性- border-radius
- 两种写法:单一属性写法、综合写法(类似padding的写法)
属性名 属性值 border-radius 像素值, 横纵轴写法,x轴和y轴之间用/符号划分开 border-radius 百分比, 横纵轴写法,x轴和y轴之间用/符号划分开
例如: p
{
width
:
300
px
;
height
:
300
px
;
background-color
:
pink
;
border
:
10
px
solid
red
;
border-radius
:
100
px
/
100
px
;
/x轴为100px,y轴为100,如果只写一个数字,那么x轴=y轴/
border-bottom-left-radius
:
50
px
;
border-bottom-right-radius
:
50
px
;
border-top-right-radius
:
50
px
;
border-top-left-radius
:
50
px
;
border-radius
:
10
px
20
px
30
px
40
px
;
/综合写法:4值法/
border-radius
:
20
px
50
px
80
px
;
/综合写法:3值法/
border-radius
:
20
px
80
px
;
/综合写法:2值法/
border-radius
:
20
px
80
px
/
30
px
60
px
;
/综合写法:x轴/y轴法/
}
9、CSS3中的文字阴影- 属性名:text-shadow
属性值 描述 x轴像素值 水平阴影的位置,可以为负值 y轴像素值 垂直阴影的位置,可以为负值 blur 模糊的距离(用像素值表示) color 阴影的颜色
文字阴影综合写法: text-shadow: 20px 20px 10px red; 模糊的距离为10px 如果要写多层阴影 p
{
font
:
100
px
"微软雅黑"
;
text-shadow
:
20
px
20
px
10
px
red
,
40
px
40
px
10
px
yellow
,
60
px
60
px
10
px
pink
;
/20px
20px
10px
red
一轮四个属性值写完后,用逗号隔开,继续写下一轮/
}
CSS3中的盒子阴影- 属性名box-shadow
属性值 描述 x轴像素值 水平阴影的位置,可以为负值 y轴像素值 垂直阴影的位置,可以为负值 blur 模糊的距离(用像素值表示) spread 阴影的尺寸 color 阴影的颜色 inset 将外部阴影改为内部阴影
盒子阴影综合写法: /边框阴影:水平位置、垂直位置、模糊程度、扩展大小、颜色、是否内边框阴影 box-shadow: 20px 20px 10px 40px red inset;
如果要写多层阴影,跟文字阴影的写法一样1CSS3的过渡属性- 动画效果 属性名:transition 作用:用transition属性可以实现补间动画(过渡效果,只要当前元素有“属性”发生变化即存在两种状态时(A状态、B状态),那么A和B之间可以实现平滑过渡的动画效果,为了方便看效果,使用:hover切换状态
- 综合属性写法,语法格式: transition:过渡的属性 过渡的时间 运动曲线 延时时间; 例:
p
{
width
:
300
px
;
height
:
300
px
;
background-color
:
pink
;
transition
:
all
2
s
cubic-bezier
0
s
;
}
p
:
hover
{
width
:
800
px
;
}
- 单一属性写法
属性 属性值 描述 transition 简写属性,用于在一个属性中设置4个过渡属性 transitoin-property none 、all 、属性名(使用具体的属性,多个属性名中间用逗号分隔 规定应用过渡的CSS属性的名称 transition-duration 以秒s为单位 定义过渡效果花费的时间,默认值是0 transition-timing-function linear、ease、ease-in、ease-out、ease-in-out,函数自己取值) 规定过渡效果的时间曲线,默认值是ease transition-deay 以秒s为单位 规定过渡效果延时时间,什么时候开始,默认是0
12D转换-位移- 属性名:transform
- 作用:对元素进行移动、缩放、转动、拉长或拉伸 位移效果和(绝对-相对路径)可以一样
位移属性值 说明 translate x.y分别为水平和垂直方向位移的距离,px像素值或者百分比(区分正负) translane 只设置一个值的时候,表示水平方向位移
12D转换-缩放- 属性名:transform
- 作用:对元素进行移动、缩放、转动、拉长或拉伸
缩放属性值 说明 scale x.y分别为改变元素高度和宽度的倍数 scale 只设置一个值的时候,表示宽度和高度同时缩放n倍 scaleX 改变元素的宽度 scaleY 改变元素的高度
12D转换-旋转- 属性名:transform
- 作用:对元素进行移动、缩放、转动、拉长或拉伸
旋转属性值 说明 rotate 括号里面写 数字+deg 正数表示顺时针旋转,负数表示逆时针旋转
书写语法:transform: rotate;例: 综合写法(先旋转后位移) transform: rotate translate; 综合写法(先位移后旋转) transform: translate rotate ; 注意: 两个先后顺序不同,加载结果会不同12D转换-倾斜- 属性名:transform
- 作用:对元素进行移动、缩放、转动、拉长或拉伸
倾斜属性值 说明 skew 括号里面写 数字+deg,数字+deg,表示水平和垂直方向倾斜的角度
16-12D转换-基准点- 属性:transform-origin
- 作用:设置调整元素的水平和垂直方向原点的位置 属性值有2个,中间用空格分隔
基准点属性值 说明 x 定义x抽的原点在何处,leftcenterright,像素值、百分比 y 定义Y轴的原点在何处,topcnterbottom、像素值、百分比
13D转换-透视属性perspective- 可以理解为x,y,z轴的z轴方向,设置视觉远近
- 透视特点:近大远小
属性名 属性值 说明 perspective 像素值 像素值越大,透视距离越远
注意:透视属性需要设置给3D变化元素的父级19、3D转换-旋转属性和2D一样,transform,不同于2D旋转的是,3D增加了一条Z轴,空间轴属性值 说明 rotateX 沿着X抽的3D旋转 rotateY 沿着Y抽的3D旋转 rotateZ 沿着Z抽的3D旋转
注意:属性值角度区分正负,正数(顺时针)负数(逆时针)20、3D转换-位移- 属性和2D一样,transform,不同于2D旋转的是,3D增加了一条Z轴,空间轴
属性值 说明 translataX 沿着X轴的3D位移值 translataY 沿着Y轴的3D位移值 translataZ 沿着Z轴的3D位移值
2CSS3制作动画- 用 @keyframes 创建动画,用animation属性绑定动画 语法: 如果 @keyframes 创建的动画作用于
p{ animation:动画名称 过渡时间 速度曲线 延时时间 动画次数 ; } 注意 必须设置动画名称和过渡时间,其他属性值根据实际情况而定
用关键词 "from" "to" 或者百分比来规定变化发生的时间,0%为动画开始,100%为动画完成一个周期例如:.
box
p
:
nth-child
{
animation
:
move
4
s
linear
3.5
s
infinite
;
}
@
keyframes
move
{
0
%
{
transform
:
rotate
;
}
100
%
{
transform
:
rotate
;
}
}
- animation单一属性列表
属性 说明 animation-name 规定@keyframes 创建的动画名称 animation-duration 规定动画完成一个周期需要的时间。
版权声明 本文仅代表作者观点,不代表本站立场。
如遇本文系为网络转载到本站发表,图片或文章有版权问题的请联系客服确认后会立即删除文章。
如遇本文系作者授权本站发表,未经许可,不得转载。