Web前端css
Day3
一,选择器
1,伪类选择器
<style> (重要)a:hover{ font-size: 40px;(悬停字体变大) cursor:cell;(鼠标样式) } a:link{ color:颜色; } a:visited{ color:颜色;(访问后变颜色) } a:active{ font-size:70px;(字体变大) } </style>
2,结构伪类选择器
ul li:nth-child
父元素 子元素
- 1
- 2
- 3
3,结构伪类选择器
<style> ul li:nth-child(n){ 操作 }(总的第n行) ul li:nth-of-type(n){ 操作 }(同一类的第n行) </style>
<body>
1
- 2
- 3
</body>
4,伪元素选择器
<style> ul li::before{ content:"输入内容"; }(在<li>输入内容前面上方输入内容) input::placeholder{ 操作 }(表单提示词) ul li:nth-child::selection{ 操作 }(选中时) </style><body>
<input type="text" name="" id="">
- 1
</body>
二,list
1,css具有层叠性,后面的覆盖前面的
- www
- 111
</body>
三,元素显示模式转换
222
111
</body>
四,背景
<style> body{ height:4000px; background-color:颜色; background-image: url(图片路径)图片背景 background-repeat:no-repeat(背景图片可以沿着水平或者垂直,或者不重复) background-attachment:fixed;(背景随屏幕) background-position: top left;(背景图片初始位置) background:fixed url() no-repeat; } </style>
五,边框
1,
<style> border-width:2px;(边框宽度) border-style:doubt;(边框样式) border-color:颜色;(边框颜色) border-radius:10px;(边框弧度) border:4px solid 颜色;(连写) </style>
2,合并相邻边框
<style> table{ border:5px solid; border-collapse:collapse } </style>
<body> <table> <tr> <td>111</td> </tr> </table> </body>
六,阴影
<style> div{ box-shadow:20px 20px 10px 10px 颜色; } p{ text-shadow:yanse 0 -2px; }(文字添加阴影) </style><body>
<div> </div> <p> 1 </p> </body>
七,轮廓线
<style> input[type="text"]{ outline:none } </style>
<body>
<input type="text" name="" id="">
</body>
八,放拖拽
<style> textarea{ resize:none(防止文本拖拽) vertical-align:top;(改变文本位置) } </style>
<body>
请输入自我介绍
</body>
九,隐藏元素
<style> .box1{ display:none;(隐藏:脱离文档流,原来位置不在保留) visibility:hidden;(隐藏:元素隐藏,位置保留) opacity:0;(设置透明度,数字为0看不见) } </style>
<body>
1
2
</body>
十,绝对定位
<style> 。father{ position:relative;(相对定位) width:800px height:800px } .son{ position:absolute;(绝对定位,不保留原来位置,父亲不加相对定位就相当于浏览器) top:300px; width:100px; height:100px; } </style><body>
<div class="father"> <div class="son1"></div> </div>
</body>
十一,固定定位
<style> body{ height:1000px; } div{ position:fixed;(固定定位,相对于可视区域进行定位) width:100px; height:100px; } </style><body>
<div> 小妲己 </div>
</body>
十二,粘性定位
<style> .one{ position:sticky;(与顶部一起滑动) top:10px; } </style><body>
<p class="one"> 111 </p>
</body>
十二,定位补充
z-index:1(定位中显示的优先级)
1,文字水平对齐方式
<style> div{ text-align:center; line-heigut:60px;(行高) } </style>
<body>
文字
</body>
2,文本装饰
<style> a{ text-decoration:none;(去掉默认下划线) text-decoration:dotted; text-decoration:overline; text-decoration:line-through;(划线) } </style><body>
<a href="http://www.baidu.com">去百度</a>
</body>
3,单行垂直居中
行高等于元素高度
line-height=height
4,文字阴影
<style> p{ text-shadow:颜色 0 -2px; } </style><body>
<p> 111 </p>
</body>
Day4
盒子大小:
结构
padding(内边距):10px 30px 60px 90px(上 右 下 左)
margin-left(外边距):5px(不影响盒子大小,同级元素之间相距5px)
外边距塌陷:1,给父元素加一个border(边框)
2,父元素的第一个子元素的magin-top值会被父元素抢走
3,偏方:overflow:auto(加滚动条)
overflow:hidden(隐藏逸出部分)
二,css样式继承
1,不是所有样式都继承,只有改变后对布局无影响的样式能继承,
a链接最好在自身更改样式
三,padding,border影响盒子大小问题
<style> div{ width:300px; height:300px; paddding:40px; border:2px solid; box-sizing:border-box; }
</style><body>
1111
</body>
四,flex布局
1,排列方式
flex-direction:row(横向排列)
flex-direction:row-reverse;(横向反转排列)
flex-direction:column;(竖向排列)
flex-direction:column-reverse(竖向反转排列)
2,让flex布局变为多行
flex-wrap:wrap;(换行)
flex-wrap:nowrap;(不能换行)
3,主轴上的布局
justify-content:center;
justify-content:end;
justify-content:space-between;
justify-contwnt;space-evenly;
justify-content:space-around;
4,侧轴
单行
align-items:center;
align-items:end;
align-items:start;(默认)
多行
align-content:start;
align-content:space-around;
<style> .header{ width:800px; height:100px; display:flex;(让div内容横向排列) flex-direction:row; flex-wrap:wrap;(换行) justify-content:center:
} .son{ width:100px; height:100px; }
</style><body>
<div class="header"> <div class="son">2</div> <div class="son">1</div> </div>
</body>
五,flex
1,平分,只设置一个的话就是把剩下部分全占
.son1{
flex:1;
}
.son2{
flex:2
}
2,order:值越小排列越靠前
.son{
order:-3;
}
六,浮动
1,文字环绕图片
float:left(向左)
2,float讲解
浮动会让元素脱离文档流,不在保留原来位置,会遭成在其下方的兄弟元素位置发生变化。
当子元素发生浮动时,其父元素会发生高度塌陷。
解决办法:
(最好)1,div{
clear:both;(从div向下开始不浮动)
}
1
七,渐变
background-image:linear--gradient(颜色)
八,字体图标
阿里巴巴iconfont库里下载
九,媒体查询
对于可视窗口大小改变
@media only screen and(min-width:320px)and(max-wdith:480px){
div{
颜色
}
}
十,默认外边距
*{
magin: 0;
padding: p;
}
十一,2d转化
<style> .father{ margin:0 auto; (居中) } .son{ 沿x和y平移 transform:translate(40px,40px); 沿x轴平移 transform:translateX(70px); 旋转,正为顺,负为逆 transform:rotateZ(40deg); 复合写法旋转放最后 混合:transform:transform(40px)rotateZ(45deg) 缩放括号中数字为缩放几倍 transform:scale(1.5) 沿x轴缩放 transform:scaleX(1.5)
}
</style></father><div class="father"> <div class="son">
</div>
</div>
十三,3d
1,开启3d空间
给父元素添加 transfprm-style:preserve-3d
2,景深
perspective:800px
3,沿z轴改变相对物体位置
perspective-origon: 100px 200px;
4,旋转,正值顺时针
沿x轴transform:rotateX(45deg)
transform:rotate(1,1,0,45deg)
5,旋转到反面时隐藏
backface-visibility:hidden;
6,变换原点(换条线转)
transform-origin:bottom;
十四,过渡
.son{(谁变化给谁加)
transition: wdith 5s
}
.son:hover{
transform:rotate(45deg)
}
十五,@keyframes 自己命名{
from{
transform:translate(0%)
}
to{
transform:translate()
}
div{
animatio:自己命名 ;
}
}