社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
<h2>CSS学习感想</h2>
如果说HTML让我学得热血澎湃,那么CSS可以说让我疯狂着迷,江哥有句话是我一直铭记在心的,就是<strong>html只修改语义,CSS只修改样式</strong>。CSS就是用来美化网页的,CSS的学习一共分为两大部分,一个是CSS的属性,另一个是CSS选择器。江哥先带着我们从CSS初体验,让我们感受到CSS的魅力,渗透了解各种选择器,再到学习的中转点——CSS三大特性,在CSS往后的学习中都要时刻贯彻这三大特性,接着是div和span两大块,CSS元素显示模式转换,CSS精灵图,以及浮动定位,让整个CSS的思路更新清晰,可以清楚的知道自己每一步要做什么,该用到哪些模块的知识。
做前端开发,需要我们有很强的<strong>大局意识</strong>,不要想到什么就把代码敲进去,在做一个项目时要先结合HTML、CSS以及后面将会学到的JS、JQ等等,来做一个简单的大局构思,从外到里,层层递进地去写,每一步代码都关系到最后成型网页的流畅度、后期优化难度、可阅读性等等。江哥教给我们的不仅是专业知识和热情,还有思维方式,最重要的是<strong>走心的努力</strong>!
学习CSS的过程非常的专心和开心,谢谢江哥如此走心、专业、认真的教学视频。
<strong>学HTML5就选李南江,选培训机构我只选小码哥(www.520it.com)</strong>
CSS固定格式
格式:
<style type="text/css">
标签名称{
属性名称:属性对应的值;
...
}
</style>
key: value;
其中冒号:不能省略,分号;大多数情况下也不能省略,只有是最后一个属性才能省略,但是推荐都不要省略
文字相关属性 (掌握)
主要学习两大块:
Css中的选择器:{}前面的东西
Css中的属性:大括号{}里面的东西
规定文字样式的属性
font-style:italic;
normal:正常的,默认就是正常的
italic:倾斜的
fs+tab 就是font-style:italic;
fsn+tab 就是font-style:normal;
font-weight: bold;
lighter:细线,默认就是细线
bold:加粗
bolder:比加粗还要粗,但文字有极限,有时看不出
fw+tab font-weight: ;
fwl+tab font-weight:lighter;
fwb+tab font-weight:bold;
fwbr+tab font-weight:bolder;
100~900的整百取值
font-size:30px;
单位:px(pixel)
fz+tab font-size: ;
fz30+tab font-size:30px;
font-family:"宋体";
ff+tab font-famliy: ;
font-family:"字体1","备选方案1";
font-family:"Times New Roman","微软雅黑";
如果想给界面中的英文单独设置字体,那么英文的字体必须写在中文的前面
补充1:
在企业开发中最常见的字体有以下几个
中文:宋体/黑体/微软雅黑
英文:Times New Roman / Arial
补充2:
并不是名称是英文就一定是英文字体,因为中文字体其实都有自己的英文名称,所以是不是中文字体主要看能不能处理中文!
宋体:SimSun
黑体:SimHei
微软雅黑:Microsoft YaHei
/*
被注释掉的东西
*/
和html的一样
<!—被注释掉的东西-->
font:style weight size family;
例如:
font:italic bold 30px "宋体";
注意点:
在这一种缩写格式中有的属性可以省略,style、weight可以省略
在这一种缩写格式中style和weight可以交换位置
在这一种缩写格式中有的属性不可以省略,size和family不可以省略
在这一种缩写格式中size和family不可以随便乱放的,size必须写在family前面,而且size和family必须写在所有属性的最后。
文本属性
text-decoration: underline;
underline:下划线
line-through:删除线
overline:上划线
none:什么都没有,最常见的用途就是用于去掉超链接的下划线
td+tab:text-decoration: none;
tdu+tab: text-decoration: underline;
tdl+tab: text-decoration: line-through;
tdo+tab: text-decoration: overline;
text-align: right;
left:左
right:右
center:中
ta: text-align: left;
tar: text-align: right;
tac: text-align: center;
text-indent: 2em;
2em, 其中em是单位,一个em代表缩进一个文字的宽度
ti+tab:text-indent: ;
ti2e+tab:text-indent: 2em;
color:red;
color:rgb(0,0,0);
格式中第1个数字就是用来设置三原色的光源元件红色显示的亮度
第2个数字就是用来设置三原色的光源元件绿色显示的亮度
第3个数字就是用来设置三原色的光源元件蓝色显示的亮度
其中每个数字的取值范围是0~255之间,0代表不发光,255代表发光,值越大就越亮。
红色:rgb(255,0,0);
绿色:rgb(0,255,0);
蓝色:rgb(0,0,255);
黑色:rgb(0,0,0);
白色:rgb(255,255,255);
在前端开发中其实并不常用灰色,只要让红、绿、蓝的值一样就是灰色,且如果这三个值越小就越偏黑色,越大就越偏白色
color:rgba(0,0,0,0.2);
#FFEE00 FF代表r 、EE代表g 、00代表b
什么是十六进制?
和十进制一样都是一种计数方式。
在十进制中取值范围0~9,逢十进一
在十六进制中取值范围0~F,逢十六进一
十六进制转化为十进制的公式:
十六进制第一位*16 +十六进制第二位 = 十进制
* 1.5十六进制缩写
在CSS中只要十六进制的颜色每两位的值都是一样 的,那么就可以简写一位
例如:
#FFEE00 == #FE0
* 注意点:
如果当前颜色对应的两位数不一样,那么就不能简写
如果两位相同的数字不是属于同一个颜色,也不能简写
标签名称{
属性:值;
}
1、标签选择器选中的是当前界面中所有的标签,而不能单独选中某一个标签
2、标签选择器无论标签藏的多深都能被选中
3、只要是HTML中的标签就可以作为标签选择器(h/a/h1/p/ul/input……)
#标签名称{
属性: 值;
}
1、id的名称只能由字母、数字、下划线:a~z、0~z、_
2、id名称不能以数字开头
3、id名称不能是html标签的名称
在企业开发中一般情况下如果仅仅是为了设置样式,我们不会使用id,因为在前端开发中id是留给JS使用的
.类名{
属性: 值;
}
<标签名称 class="类名1 类名2 …">
id相当于人的身份证不可重复
class相当于人的名称可以重复
一个html标签只能绑定一个id名称
一个html标签可以绑定多个class名称
id选择器是以#开头
class选择器是以.开头
在企业开发中到底用id选择器还是用class选择器?
id一般情况下是给js使用的,所以除非特殊情况,否则不要使用id去设置样式
对类的使用能看出这个开发人员的技术水平
一般情况下在企业开发中要注重余代码的抽取,可以讲一些公共的代码抽取到一个类选择器中,然后让标签和这个类选择器绑定即可
后代选择器
什么是后代选择器?
标签名称1 标签名称2{
属性:值;
}
1.后代选择器必须用空格隔开
2.只要最终是放到指定标签中的都是后代
3.后代选择器不仅可以使用标签名称,还可以使用其他选择器
标签名称1 标签名称2 标签名称3{}
<head>
<meta charset="UTF-8">
<title>12后代选择器</title>
<style>
div ul li p{
color:red;
}
</style>
</head>
<body>
<p>我是文字</p>
<div>
<ul>
<li>
<p>我是文字</p>
<p>我是文字</p>
</li>
</ul>
<p>我是文字</p>
<p>我是文字</p>
</div>
<p>我是文字</p>
</body>
标签名称1>标签名称2{
color: red;
}
后代选择器和子元素选择器
后代选择器和子元素选择器之间的区别?
后代选择器和子元素选择器之间的共同点?
后代选择器和子元素选择器都可以使用标签名称/id名称/class名称 来作为选择器
后代选择起和子元素选择器都可以通过各自的链接符号一直延续下去
在企业开发中如何选择?
如果想选中指定标签中的所有特定的标签,用后代选择器
如果想选中指定标签中的所有特定儿子标签,用子元素选择器
标签名称1标签名称2{
属性: 值;
}
注意点:
并集选择器
什么是并集选择器?
作用:给所有选择器选中的标签设置属性
格式:
标签名称1,标签名称2{
属性: 值;
}
注意点:
兄弟选择器
什么是兄弟选择器?
只能选中同级的标签
相邻兄弟选择器CSS2
标签名称1+标签名称2{
属性: 值;
}
注意点:
通用兄弟选择器CSS3
标签名称1~标签名称2{
属性: 值;
}
注意点:
序选择器(又名“个数选择器”)
CSS3中新增的选择器最具代表性的就是序选择器(10个)
同级别的第几个
标签名称:first-child{
color: green;
}
last-child:选中同级别中的最后一个标签
nth-child(n):选中同级别中的第n个标签
nth-last-child(n):选中同级别中倒数第n个标签
only-child:选中父元素中唯一的标签
标签名称:first-of-type{
color: red;
}
last-of-type:选中同级别中同类型的最后一个标签
nth-of-type(n):选中同级别中同类型的第n个标签
nth-last-of-type(n):选中同级别中同类型的倒数第n个标签
only-of-type:选中父元素中唯一类型的某个标签
nth-child(odd):选中同级别中的所有奇数标签
nth-child(even):选中同级别中的所有偶数标签
nth-of-type(odd):选中同级别中同类型的奇数标签
nth-of-type(even):选中同级别中同类型的偶数标签
nth-child(xn+y):x和y是用户自定义的,n是一个计数器,从 0开始递增
p[id]{
color: red;
}
[attribute]:根据指定的属性名称找到对应的标签,然后设置属性
[attribute=value]:找到有指定属性,并且属性的取值等于value的标签,然后设置属性。
最常见的应用场景,就是用于区分input属性
例如:
p[type=password]{
color: red;
}
[attribute|=value]:CSS2
[attribute^=value]:CSS3
区别:
CSS2中的只能找到value开头,并且value是被横杠-和其他内容隔开的
CSS3中的只要是以value开头的都可以找到,无论有没有被横杠-隔开
[attribute$=value]:CSS3
[attribute~=value]:CSS2
[attribute*=value]:CSS3
区别:
CSS2中的只能找到独立的单词,也就是包含value,并且value是被空格隔开的
CSS3中只要包含value的都可以
*{
color: red;
}
注意点:
由于通配符选择器是设置界面上所有标签的属性,所以在设置之前会遍历所有的标签,如果当前界面上的标签比较多,那么性能就会比较差,所以在企业开发中一般不会使用通配符选择器
a标签的文字颜色和下划线是不能继承的
h标签的文字大小是不能继承的
应用场景:
一般用于设置网页上的一些共性信息,例如网页的文字颜色、字体、文字大小等内容 body{}
CSS三大特性の层叠性(覆盖)
什么是层叠性?
作用:就是CSS处理冲突的一种能力
注意点:
类选择器 会覆盖 标签选择器
如果是间接选中,那么就是谁离目标标签比较近就听谁的
如果都是直接选中,并且都是同类型的选择器,那么就是谁写在后面就听谁的
如果都是直接选中,并且不是相同类型的选择器,那么就会按照选择器的优先级来层叠
id>类>标签>通配符>继承>浏览器默认
.bb{
color: blue;;
}
p{
color: red !important;
}
优先级之权重问题
什么是优先级的权重?
作用:当多个选择器混合在一起使用时。我们可以通过计算权重来判断谁的优先级高低
权重的计算规则(通配符权重为零)
注意点:
只有选择器是直接选中标签的才需要计算权重
容器级别的标签中可以嵌套其他所有的标签
文本级别的标签中只能嵌套文字、超链接、图片
div h ul ol dl li …
span p buis strong em ins del
哪些标签是本文级的,哪些标签是容器级的不用刻意去记
在企业开发中一般情况下要嵌套都是嵌套在div中,或者按照组标签来嵌套
块级元素会独占一行
行内元素不会独占一行
p div h ul ol dl li …
span buis strong em ins del
1、独占一行
2、如果没有设置宽度那么默认和父元素一样宽
3、如果设置的宽高,那么就按照设置的来
1、不会独占一行
2、如果没有设置宽度,那么默认和内容一样宽
3、行内元素是不可以设置宽度和高度的
为了能够让元素既能够不独占一行,又可以设置宽度和高度,那么就出现了行内块级元素
设置元素的display属性
block 块级
inline 行内
inline-block 行内块级
di+tab display:inline;
db+tab display:block;
dib+tab display:inline-block;
在CSS中有一个background-color:;属性,就是专门用来设置标签的背景颜色的
快捷键:bc+tab
在CSS中有一个叫做background-image: url();属性,就是转么用于设置背景图片
快捷键:bi+tab
在CSS中有一个background-repeat属性,就是专门用于控制背景图片的平铺方式的
repeat: 默认,在水平和垂直都需要平铺
no-repeat:在水平和垂直都不需要平铺
repeat-x: 只在水平方向平铺
repeat-y: 只在垂直方向平铺
bgr+tab
应用场景:
可以通过背景图片的平铺来降低图片的大小,提升网页的访问速度
背景定位
如何控制背景图片的位置?
CSS中有一个叫做background-position: 0 0;属性,就是专门用于控制背景图片的位置
background-position: 水平方向 垂直方向;
水平方向:left center right
垂直方向:top center bottom
例如:100px
1、一定要写单位px
2、x越往右越大,y越往下越大
3、可以接受负数
bp+tab
应用场景:
例如英雄联盟主页的图片,永远居中
背景关联和缩写
背景属性缩写的格式:
background:背景颜色 背景图片 平铺方式 关联方式 定位方式;
bg+tab
background属性中,任何一个属性都可以被省略
什么是关联方式?
默认情况下背景图片会随着滚动条的滚动而滚动,如果不想这样,那么我们就可以修改背景图片和滚动条的关联方式
如何修改修改背景关联方式?
在CSS中有一个叫做background-attachment:;的属性,这个属性就是专门修改关联方式的
background-attachment:scroll;
scroll 默认值,会随着滚动条的滚动而滚动
fixed 不会随着滚动条的滚动而滚动
ba+tab
注意点:
仅做了解,企业开发中用得不多
div.box$*n
就会生成n个div,且box从1到n
div class="box1"></div>
<style>
div{
width: 86px;
height: 28px;
background-image: url(images/weibo.png);
background-position: -425px -200px;
}
</style>
border: 边框宽度 边框样式 边框颜色;
例如:
border: 1px solid #000;
* 快捷键:
bd + tab
* 边框样式的取值非要记住的只有两个:
dashed(虚线)
solid(实线)
* 注意点:
1.连写格式中颜色属性可以省略,省略之后默认是黑色
2.连写格式中样式不可省略,省略之后就看不到边框了
3.连写格式中宽度可以省略,省略之后可以看到边框
border-top: 边框宽度 边框样式 边框颜色;
border-right: 边框宽度 边框样式 边框颜色;
border-bottom: 边框宽度 边框样式 边框颜色;
border-left: 边框宽度 边框样式 边框颜色;
* 快捷键:
bt+
br+
bb+
bl+
border-width:上 右 下 左;
border-style:上 右 下 左;
border-color:上 右 下 左;
* 注意点:
* 这三个属性的取值是按照顺时针来赋值,也就是按照上右下左来赋值,而不是按照日常中的上下左右
* 这三个属性的取值省略时的规律:
1、上右下左>上右下>左边的取值和 右边一样
2、上右下左>上右>左边的取值和右边一样,下边的取值和上边一样
3、上右下左>上>右下左取值和上边一样
* 非连写(企业开发中几乎不用)
例如:
border-top-width:;
border-top-style:;
border-top-color: #000;
padding-top:像素;
padding-right:像素;
padding-bottom:像素;
padding-left:像素;
padding:上 右 下 左;
这三个属性的取值省略时的规律
1、上右下左>上右下>左边的取值和 右边一样
2、上右下左>上右>左边的取值和右边一样,下边的取值和上边一样
3、上右下左>上>右下左取值和上边一样
margin-top:;
margin-top:;
margin-top:;
margin-top:;
margin-top:上 右 下 左;
这三个属性的取值省略时的规律
1、上右下左>上右下>左边的取值和 右边一样
2、上右下左>上右>左边的取值和右边一样,下边的取值和上边一样
3、上右下左>上>右下左取值和上边一样
注意点:
外边距的那一部分是<strong>没有背景颜色</strong>
外边距合并(塌陷)现象
什么是外边距合并现象?
在默认布局的垂直方向上,默认情况下相邻外边距是不会叠加的,谁比较大就听谁的在水平方向会合并。
CSS盒子模型
什么是CSS盒子模型?
仅仅是一个形象的比喻,HTML中所有的标签都是盒子模型
结论:
1.在HTML中所有的标签都可以设置:
宽度/高度:指定可以存放内容的区域
边框:
内边距:
外边距:
就是通过标签的width/height属性设置的宽度和高度
宽度=左边框+左内边距+width+右内边距+右边框
高度=同理可证
宽度=左外边距+元素宽度+右外边距
高度=同理可证
盒子宽度和高度练习
规律:
增加了padding之后元素的宽高也会发生变化
如果增加了padding之后还想保持元素的宽高,那么必须减去内容的宽高
增加了border之后元素的宽高也会发生变化
如果增加了border之后还想保持元素的宽高,那么必须减去内容的宽高
盒子box-sizing属性
CSS3中新增了一个box-sizing属性,这个属性可以保证我们给盒子新增padding和border后元素的宽高保持不变
box-sizing属性是如何保证增加padding和border之后,盒子元素的宽高不变
box-sizing取值
content-box
元素的宽高=边框+内边距+内容宽高
border-box
元素的宽高=width/height
盒子模型练习
注意点:
另注意点:
盒子居中和内容居中
<strong>text-align:center; </strong>和 <strong>margin:0 auto;</strong> 居中
text-align:center; 的作用:
设置盒子中存储的文字/图片的水平居中
让盒子自己水平居中
清空默认边距
为什么要清空默认边距(外边距和内边距)
在企业开发中为了更好的控制盒子的宽高和计算盒子的宽高等等,所以在企业开发中
如何清空默认的边距
*{
margin: 0;
padding: 0;
}
通配符选择器会找到(遍历)当前界面中所有的标签,所以性能不好
所以,百度搜yui css reset ,第一个,进去打开网址复制
http://yui.yahooapis.com/3.18.1/build/cssreset/cssreset-min.css
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}
line-height:;
规律:
还原字体和字号
注意点:
垂直排版:如果元素是块级元素,那么就会垂直排版
水平排版:如果元素是行内元素/行内块级元素,那么就会水平排版
float: left;
float: right;
1.浮动流中没有居中对齐,也就是没有center这个取值
2.在浮动流中是不可以使用margin:0 auto;的
1.在浮动流中是不区分块级元素、行内元素、行内块级元素的,无论是块级元素、行内元素、行内块级元素都是水平排版
2.在浮动流中无论是块级元素、行内元素、行内块级元素都可以设置宽高
3.综上所述,浮动流中的元素和标准流中的行内块级元素很像
浮动元素的脱标
什么是浮动元素的脱标?
脱标:脱离标准流,当某一个元素浮动之后,那么这个元素看上去就像被从标准流中删除了一样,这个就是浮动元素的脱标
浮动元素脱标之后会有什么影响?
如果前面一个元素浮动了,而后面一个元素没有浮动,那么这个时候前面的一个元素就会盖住后面的一个元素
浮动元素排序规则
浮动元素排序规则
浮动元素贴靠现象
当父元素足够有放下所有浮动元素的宽时,所有浮动元素会并排正常地放,但当父元素宽度不够时,最后一个浮动元素就会向前面元素紧贴着的那个元素贴靠,如果这时父元素宽度够,就搞定,宽度还不够就继续往前一级一级地贴,直到最后无论父元素宽度够不够,都会贴近
父元素的最左边。
浮动元素字围现象
浮动元素不会盖着不是浮动元素中的文字
68-70.浮动练习
浮动元素高度问题
做垂直方向的布局时,用标准流;做水平方向的布局时,用浮动流
在标准流中内容的高度可以撑起父元素的高度
在浮动流中浮动的元素是不可以撑起父元素的高度的
在标准流中,div如果没设置宽度高度,那么宽度和父元素一样,高度为0
清除浮动方式一
清除浮动方式一
给前面一个父元素设置高度
注意点:
在企业开发中,我们能不写高度就不写高度,所以这种方式<strong>用得很少</strong>
清除浮动方式二
清除浮动的第二种方式
给后面的盒子添加clear属性
none:默认取值,按照浮动元素的排序规则来排序()
left:不要找前面的左浮动元素,不要和前面的左浮动同一行
right:不要找前面的右浮动元素,不要和前面的右浮动同一行
both:不要找前面的左浮动元素和右浮动元素(用得最多)
注意点:
当我们给某个元素添加clear属性之后,那么这个属性的margin属性就会失效
margintop失效的原因
如果两个盒子是嵌套关系,那么设置了里面一个盒子的顶部的外边距,外面一个盒子也会被顶下来
如果外面的盒子不 想被一起顶下来,那么可以给外面的盒子设置一个边框属性
清除浮动方式三
清除浮动的第三种方式
隔墙法
1、在两个盒子之间添加一个额外的块级块级元素
2、给这个额外添加的块级元素设置clear:both;属性
注意点:
内墙法
清除浮动方式四
内墙法
1、在第一个盒子中所有子元素的最后添加一个额外的块级块级元素
2、给这个额外添加的块级元素设置clear:both;属性
外墙法可以让第二个盒子使用margin-top属性
外墙法也可以让第一个盒子使用margin-bottom属性
外墙法和内墙法的区别:
外墙法不能撑起第一个盒子的高度,而内墙法可以撑起第一个盒子的高度
在企业开发中<strong>不常用隔墙法</strong>来清除浮动
伪元素选择器
在前端开发中推崇结构和样式分离,html添加语义,CSS代码修改样式
什么是伪元素选择器
作用:给指定标签的内容前面添加一个子元素或者给制定标签的内容后面添加一个子元素
格式:
div::before{
属性:值;
}
含义:给指定标签的内容前面添加一个子元素
div::after{
属性:值;
}
含义:给指定标签的内容后面添加一个子元素
例如:
div::before{
/*指定添加的子元素的内容*/
content:"爱你";
/*指定添加的子元素的宽高*/
width: 50px;
height: 50px;
background-color: pink;
/*指定添加的子元素的显示模式*/
display: block;
/*隐藏添加的子元素*/
visibility: hidden;
}
div::after{
/*设置添加的子元素的内容为空*/
content:"";
/*设置添加的子元素为块级元素*/
display: block;
/*设置添加的子元素的高度为0*/
height: 0;
/*设置添加的子元素看不见*/
visibility: hidden;
/*给添加的子元素设置clear:both;*/
clear: both;
因为此方法是CSS3推出的,IE6不支持
需要在CSS里面添加以下内容,就能兼容IE6(box1为第一个盒子的类名)
.box1{
*zoom: 1;
}
注:
因为此方法是CSS3推出的,IE6不支持
需要在CSS里面添加以下内容,就能兼容IE6(box1为第一个盒子的类名)
.box1{
*zoom: 1;
}
相对定位
绝对定位
固定定位
静态定位
什么是相对定位?
就是相对自己<strong>以前在标准流中</strong>的位置来移动。
相对定位注意点
相对定位是不脱离标准流的,会继续在标准中占用一份空间
在相对定位中同一个方向上的定位属性只能使用一个
由于相对定位是不脱离标准流的,所以在相对定位中是区分块级元素、行内元素、行内块级元素的;
由于相对定位是不脱离标准流的,并且相对定位的元素会占用标准流中的位置,所以当给相对定位的元素设置margin、padding等属性时会影响到标准流的布局,这些属性是给定位前的盒子设置的
相对定位应用场景
格式:
.box2{
background-color: green;
position: relative;
top:;
right:;
bottom:;
left:;
}
就是相对于body来定位
.box2{
background-color: green;
position: absolute;
top:;
right:;
bottom:;
left:;
}
绝对定位注意点:
绝对定位-参考点
规律
1、只要是这个绝对定位元素的祖先元素都可以
2、这里指的定位流是指 绝对定位、相对定位、固定定位
3、定位流中只有静态定位不行
如果一个绝对定位的元素有祖先元素,并且祖先元素也是定位流,而且祖先元素中有多个元素都是定位流,那么这个绝对定位的元素会以离他最近的那个定位流的祖先元素为参考点
绝对定位、注意点
如果一个绝对定位的元素是以body作为参考点,那么其实是以网页首屏的宽度和高度作为参考点,而不是以整个网页的宽度和高度作为参考点;
一个绝对定位元素会忽略祖先元素的padding
绝对定位-子绝父相
相对定位的弊端:
相对定位不会脱离标准流,会继续在标准流中占用一份空间,所以不利于布局界面
默认情况下绝对定位的元素会以body作为参考点,所以会随着浏览器宽度高度的变化而变化
子元素使用绝对定位,父元素使用相对定位
margin:0 auto;在绝对定位中无效
如何让绝对定位的元素水平居中(加下面2行代码)
只需要设置绝对定位元素的 left:50%;
然后在设置绝对定位元素的 margin-left:-元素宽度的一半px;
position: fixed;
left:;
top:;
right:;
bottom:;
注意点:
定位流- z-index属性
a、IE6不支持固定定位
b、默认情况下就静态定位
1.默认情况下,定位流的元素会盖住标准流的元素
2.默认情况下,定位流的元素,后面编写的会盖住前面编写的
3.如果定位流的元素设置了z-index属性,那么谁的z-index属性比较大,谁就显示在上面
注意点:
a标签的伪类选择器
通过我们的观察发现a标签存在一定状态
1.1默认状态,从未被访问过
1.2被访问过的状态
1.3鼠标长按状态
1.4鼠标悬停在a标签上状态
什么是a标签的伪类选择器?
a标签的伪类选择器是专门用来修改a标签不同状态的样式的
格式:
a:link{
color: skyblue;
}
修改从未被访问过状态下的样式
a:visited{
color: green;
}
修改被访问过的状态下的样式
a:hover{
color: black;
}
修改鼠标悬停在a标签上的样式
a:active{
color: pink;
}
修改鼠标长按状态下的样式
a{
color: skyblue;
}
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!