学习内容:CSS企业开发经验等
学习语言:CSS
htmlcss寒假学习
CSS部分
伪类选择器
hover伪类选择器
概述
格式:
%s:hover{......}
第一个字符串是任意一个选择器的选择范围
标签
一个容器到底用那种展示方式展现,可以通过display
属性来改变
行级元素
feature:内容决定元素所占位置,不可以通过css改变宽高.
块级元素
行级块元素
属性
margin-left
:元素之间的间距,可以为负数.可以造成镶嵌的感觉.
CSS开发思路
先定义功能再定义实体
举个例子:要定义数个大小与颜色有一定规范的盒子,然后通过调用功能来赋值.CSS一般可以对应多个HTML,作为工具包
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="b.css">
</head>
<body>
<div class="red size1"></div>
<div class="green size2"></div>
<div class="gray size3"></div>
</body>
</html>
.green{
background-color: green;
}
.gray{
background-color: grey;
}
.red{
background-color: red;
}
.size1{
width: 100px;
height:100px;
}
.size2{
width: 200px;
height: 200px;
}
.size3{
width: 300px;
height: 300px;
}
标签的自定义化
通过使用标签选择器,将html的原标签的作用属性改回没加之前,然后再添加想要改变的属性.以下就可以将斜体标签变成变红标签.
因为自带的标签会带有很多不需要的属性,重写拿CSS覆写一下会比较好.
比较好的例子就是下图,将内外边距置0.
如果一个属性没有被覆写,那么其保留原先的属性
em{
font-style: normal;
color: red;
}
*{
margin:0;
padding:0;
}
盒子模型
盒模型可以自己构建,构架完之后有利于网页的布置.div容器自己也带有padding.
计算盒子的大小
盒子的组成部分
盒子壁(border)
内边距(padding)
复合属性,包含了四个方向的页边距,依次是:上 右 下 左,如果只输出三个值,依次为上,左右,下,如果是两个值,上下,左右.
当然,也可以使用padding-left
之类的进行单独调用.
同样的特征与其他的符合属性类似.
padding的默认值是8px.
外边距(margin)
盒子内容(width+height)
定位技术
标准的定位,会将目标连带着自己的子集合一起移动到目标位置.
一般来说,absolute
用来定位,realative
用来当作参照物.
可以通过z-index
来设置层
绝对定位
使用position:absolute
开启功能,然后使用left
/top
/right
/bottom(一般不用)
定义其物体该方向边缘的距离边沿的长度.其是相对于最近的有定位的父级定位,如果没有,则相对与整个浏览器定位.
脱离原来位置的定位.
层模型
一个被绝对定位的实体,可以被随意放到它想放到的位置,不受其他要素的影响.
依赖定位
使用position:realtive
开启功能,相对于自己原来的位置进行定位.
保留原来位置进行定位.会在原先的层的位置上,保留它的位置,不能被占用.
广告定位(固定定位)
使用position:fixed
,语法类似于absolutin,参照物从文档变成窗口.如果想要实现居中,那么需要以下代码:
div{
position:absolute;
left:50%;
top:50%;
margin-left:-50px;
margin-top:-50px;
/*上面的两个数值可能是通过每个图片大小来计算*/
}
小作业
获得的知识:
待染色的组件与代表颜色的类不用嵌套,需要使用并列选择器将他们放在一起,但是用来当作锚点的父组件好像就可以用来嵌套,不是非常地清楚.
代码
.circle{
border: 10px;
border-style: solid;
height: 100px;
width: 100px;
margin: auto;
border-color: aquamarine;
border-radius: 50%;
}
.pos{
position: fixed;
left: 50%;
top: 50%;
margin-top: -50px;
margin-left: -50px;
}
.red{
border-color: red;
}
.blue{
border-color: blue;
}
.orange{
border-color: orange;
}
.black{
border-color: black;
}
.green{
border-color: green;
}
.bc{
position: absolute;
left: 0px;
top: 0px;
z-index: 0;
}
.blc{
position: absolute;
left: -140px;
top: 0px;
z-index: 0;
}
.rc{
position: absolute;
left: 140px;
top: 0px;
z-index: 0;
}
.oc{
position: absolute;
left: -70;
top: 70;
z-index: 1;
}
.gc{
position:absolute;
left: 70;
top: 70;
z-index: 1;
}
<html>
<head>
<meta charset="utf-8">
<link type="text/css" rel="stylesheet" href="b.css"/>
</head>
<body>
<div class="pos">
<div class="circle black bc"></div>
<div class="circle blue blc"></div>
<div class="circle red rc"></div>
<div class="circle orange oc"></div>
<div class="circle green gc"></div>
</div>
</body>
</html>