两天学会CSS(第二天)

css选择器

①通配符选择器:*{}尽量避免使用通配选择器,因为会给所有的标签添加样式

②标签选择器:直接用标签名div{}

③类选择器:又称class选择器 用.name{}完成
*注
1.class选择器是可以复用的
2.可以添加多个class样式
3.多个样式的时候,样式的优先级根据CSS决定,而不是class属性中的顺序

④ID选择器:用#name{}

⑤群主选择器:使用,分隔

⑥后代选择器:使用空格进行分割分隔

⑦子代选择器:使用>进行分隔

⑧属性选择器:使用[属性名=“属性值”]

⑨伪类选择器:css伪类用于向某些元素添加特殊的效果。一般用于初始样式添加不上的时候,用伪类来添加。
1:link 访问前的样式(只能给a标签)
2:visited 访问后的样式(只能给a标签)
3:hover 鼠标移入时的样式(可以给所有标签)
4:active 鼠标按下时的样式(可以给所有标签)
遵循爱恨法则

css优先级

style行间(权重1000)> id(权重100) > class(权重10)> 标签(权重1)

盒子模型

在这里插入图片描述
padding/border/margin
只写一个值:上右下左
写两个值:上下、左右
写三个值:上、左右、下
写四个值:上、右、下、左
1.背景颜色会填充到margin以内的区域(不包括margin区域)
2.文字会在content区域
3.padding不会出现负值,margin是可以出现负值的
box-sizing(盒尺寸,可以改变盒子模型的展示形态)
2.解决一些百分比的问题input{width:100%;padding:30px;box-sizing:border-box;}
margin叠加
当给两个盒子同时添加上下外边距的时候,就会出现叠加的问题(取两者中大的值作为叠加值),只有上下有,左右没有
解决方案:
想办法只给一个元素添加间距
margin传递
传递问题只会出现在嵌套的结构中,且只有margin-top会有传递的问题,其它三个方向没有传递问题
解决方案:
1.给父容器加边框
2.margin换成padding(加给父元素,padding-top: ;并进行调整)
margin自适应居中(只可以左右,不可以上下)
margin-left:auto;margin-right:auto;居中
一般写法:margin:0 auto;(margin:auto auto;)

标签分类

按类型:
block:块 div p ul li h1…
独占一行;支持css中所有的样式;不写宽时,和父元素宽相同;所占区域是一个矩形
inline:内联 span a em strong img…
挨在一起;有些样式不支持(宽、高、margin、padding的某些);不写宽时,宽度由内容决定;所占区域不一定是矩形;内联标签之间会有空隙(换行产生),解决,找到两个内联的父元素:font-size:0;然后两个内联在设置font-size;16px;空隙消失
inline-block:内联块 input select…
挨在一起,支持宽高

溢出隐藏

overflow:visible(默认)/ hidden / scroll(有滚动条)/ auto(内容多的时候有滚动,内容少的时候没有)

拓展

opacity
0(透明)~ 1(不透明)
rgba 最后一个为透明度,只针对背景,不针对文字,可以让指定样式透明,不改变其他样式
cursor 手势
default:默认透明
自定义鼠标样式:pointer(手型)、help(箭头带问号)
自定义,准备图片 .cur .ico的才可以,`cursor:url(),auto;

猜你喜欢

转载自blog.csdn.net/joyouscola/article/details/111185473