Css,第一天

123 阅读4分钟

这是我参与8月更文挑战的第3天,活动详情查看: 8月更文挑战

开发css代码的步骤

1.找元素,先外后内,先左后右,先上后下
2.写样式的步骤
尺寸、大体位置
边框背景
文本相关
微调

一、CSS语法规则

1.css的使用方法

1)三个css的常用属性

属性作用
color颜色 设置字体颜色
background-color颜色 设置背景颜色
font-size设置字号大小
color:red;background-color:green;font-size:12px;

2)行内样式(内联样式)

在元素style属性中,编写样式声明
内联样式不能重用,内敛样式默认优先级最高
项目中基本不用
element.style{color:red;}

3)内部样式

<style></style>中编写
选择器{样式声明;}大括号结尾一定不能加分号
内部样式可以在页面重用
项目中偶尔出现内部样式

4)外部样式

单独创建一个.css文件
使用<link rel="stylesheet" href="文件位置">
rel="stylesheet" 这个属性一定要写
在多个页面重复使用
项目中广泛使用

2.css样式的特征

1)继承性

文本样式的继承
后代元素可以继承祖先元素的文本字体样式
a标签不继承祖先元素的字体颜色

2)层叠性

可以为一个元素设置多个css样式
只要css属性不冲突,就都能做用到这个html元素上
这种现象叫做堆叠
如果发生冲突按优先级显示

3)默认优先级

默认优先级 高 内联样式

​ 就近原则

​ 低 浏览器默认样式

F12中选择器的排序是按照优先级所排序

4)调整优先级

!important	让当前样式变得重要,直接获取最高优先级,比内联高
注意:style中不能使用!important
p{backgorund-color:red !importand}

二、基础选择器

1.选择器的作用

规范了页面中元素能够使用定义好的样式
选择题就是一个条件,页面中符合这个条件的元素,都可以使用定义样式

2.选择器详解

1)通用选择器

*{样式声明}
匹配也页面中所有样式
*为通配符,代价效率低,好处不用写那么多元素
项目中用到的场景:*{margin:0;padding:0:} 
                清除所有元素的内外边距
                由于不同的浏览器默认的内外距的不同,我们需要统一
                这个成为css reset 样式重置
                css中要求,0可以不加单位

2)元素选择器,标签选择器

元素关键字{样式声明}
元素选择器一般设置某种元素中的公有样式
div{background-color:red;font-size:12px}

3)id选择器

只对页面中某一个元素生效

<div id="d1"></div>
#di{样式声明}

4)类选择器

把一些样式封装进一个类选择器中
这样想要哪个元素既可以用类class调用类名

注意:类名的定义,可以有字母、数字、_、-
               不可以以数字开头
<style>
	.className{样式声明}
</style>
<任意元素 class="className">
<!--多类选择器-->
<任意元素 class="className className2 className3">
<!--
分类选择器
元素选择器.类选择器{样式声明}
引用这个类名的这个元素才能使用这个样式
-->
<style>
    p>.className{样式声明}    
</style>
<!--分类选择器-->
<style>
    .className,.className2{声明样式} 同时引用两个类元素,应用这个元素    
</style>

5)群组选择器

选择器1,选择器2,选择器3{样式声明}
每一个选择器都应用定义的样式

6)后代选择器

通过后代关系,来匹配元素
后代关系:一级以多级的嵌套
选择器1   选择器2   选择器3.....{样式声明}

7)子代选择器

通过子代关系,来匹配元素
子代关系:一级嵌套
子代选择器和后代选择器可以混合编写

8)伪类选择器

css3语法定义改革,这个改革之前出的伪类,都是单:开头
                    在改革的时间内出的伪类,单双都支持
                    在改革之后出的伪类,都是双::开头
                    
伪类选择器,匹配某一个元素在某种状态下应用的样式
:link{}  匹配连接未被访问过的状态---a标签专用
:visited{} 匹配连接被访问后的状态---a标签专用
:hover  匹配元素鼠标悬停时的状态
:active  匹配元素被激活时的状态(鼠标左键点住不松)
当上面4个伪类同时作用到一个元素上时
必须按照固定的编写顺序,才会都显示效果
爱恨原则  love&hate
:link  :visited  :hover  :active
:focus  元素获取焦点时,显示的样式----input专用(button)

9)选择器的权值

后期代码量大起来之后,有可能不小心就把权值写低,导致写的样式显示不出来

权值代表当前选择器的重要程度,权值大的优先显示
!important     >1000
内联样式       1000
id选择器       100
类选择器        10
伪类选择器      10
标签选择器       1
通用选择器*      0
继承的样式       
权值的特点
1.当一个选择器包含多个选择器时,需要将所有选择器的权值相加,然后比较。
  权值大的优先显示
2.当权值相同时,就近原则
3.群组选择器,每个选择器的权值单独计算
4.选择器的权值计算,不能超本身的最大数量级