目 录CONTENT

文章目录

从零开始学习前端开发,打造属于你的网页世界(三) - CSS基础

萧瑟
2023-03-23 / 0 评论 / 0 点赞 / 403 阅读 / 3,898 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-08-04,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

一、CSS简介

    CSS(cascading style sheets),层叠样式表,WEB标准中的表现标准语言,表现标准语言在网页中主要对网页信息的显示进行控制,简单说就是如何修饰网页信息的显示样式。

二、CSS语法

CSS语法:选择符{属性:属性值;属性:属性值;}
 


CSS语法示例

    选择符表示要定义样式的对象,可以是元素本身,也可以是一类元素或者制定名称的元素.
  • 属性:属性是指定选择符所具有的属性,它是css的核心,css2共有150多个属性
  • 属性值:属性值包括法定属性值及常见的数值加单位,如25px,或颜色值等。

说明:
1)每个CSS样式由两部分组成,即选择符和声明,声明又分为属性和属性值;
2)属性必须放在花括号中,属性与属性值用冒号连接。
3)每条声明用分号结束。
4)当一个属性有多个属性值的时候,属性值与属性值不分先后顺序。
5)在书写样式过程中,空格、换行等操作不影响属性显示。

三、样式的创建(内部样式 外部样式 内联样式)、两种引入外部样式表的区别

1. 内部样式

语法:

<style type="text/css">
/*css语句*/
</style>

注:使用style标记创建样式时,最好将该标记写在<head></head>;
image-1679551975457

2.外部样式

方法一:外部样式表的创建:

<link rel="stylesheet" type="text/css" href="目标文件的路径及文件名全称" />
说明:
使用link元素导入外部样式表时,需将该元素写在文档头部,即<head></head>之间。

rel(relation):用于定义文档关联,表示关联样式表;
type:定义文档类型;

image-1679552003485

方法二:外部样式表的导入
<style type="text/css">
@import url(目标文件的路径及文件名全称);
</style>

注:@和import之间没有空格 url和小括号之间也没有空格;必须结尾以分号结束;
image-1679552076782

3.内联样式 (行间样式,行内样式,嵌入式样式)

语法:<标签 style="属性:属性值;属性:属性值;"></标签>

image-1679552215423

四、两种引入外部样式表link和import之间的区别

  • 差别1:本质的差别:link属于XHTML标签,而@import完全是CSS提供的一种方式。

  • 差别2:加载顺序的差别:当一个页面被加载的时候(就是被浏览者浏览的时候),link引用的CSS会同时被加载,而@import引用的CSS会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS的页面时开始会没有样式(就是闪烁),网速慢的时候还挺明显。

  • 差别3:兼容性的差别:@import是CSS2.1提出的,所以老的浏览器不支持,@import只有在IE5以上的才能识别,而link标签无此问题。

  • 差别4:使用dom(document object model文档对象模型 )控制样式时的差别:当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的.

五、样式表的优先级

  1. 样式表的优先级别最高
  2. 样式表与外部样式表的优先级和书写的顺序有关,后书写的优先级别高。

六、CSS选择符(选择器)

常用的选择符有十种左右:
1. 类型选择符

    语法:元素名称{ 属性:属性值;}
    说明
    a) 元素选择符就是以文档语言对象类型作为选择符,即使用结构中元素名称作为选择符。例如body、div、p,img,em,strong,span…等。
    b) 所有的页面元素都可以作为选择符;
用法:

  • 如果想改变某个元素的默认样式时,可以使用类型选择符;
    (如:改变一个div、p、h1样式)
  • 当统一文档某个元素的显示效果时,可以使用类型选择符
    (如:改变文档所有p段落样式)

2. id选择符

    语法:#id名{属性:属性值;} ID选择器是唯一的
    说明

  • 当我们使用id选择符时,应该为每个元素定义一个id属性
    如:<div id="div1"></div>
  • id选择符的语法格式是“#”加上自定义的id名
    如:#box{width:300px; height:300px;}
  • 起名时要取英文名,不能用关键字:(所有的标记和属性都是关键字)
    如:head标记
  • 一个id名称只能对应文档中一个具体的元素对象,因为id只能定义页面中某一 个唯一的元素对象。
  • 最大的用处:创建网页的外围结构。

3. class选择符

    语法:.class名{属性:属性值;}
    说明

  • 当我们使用class选择符时,应先为每个元素定义一个类名称
  • class选择符的语法格式是:“如:<div class="top"></div>

    用法:class选择符更适合定义一类样式;

4. 通配符

    语法:{ 属性:属性值;}
    说明:通配选择符的写法是*,其含义就是所有元素。
    用法:常用来重置样式。

5. 群组选择符
    语法:选择符1,选择符2,选择符3{属性:属性值;} 逗号分隔
    说明:当有多个选择符应用相同的样式时,可以将选择符用“,”分隔的方式,合并为一组。

image-1679557778229

6. 包含选择符
    语法:选择符1 选择符2{属性:属性值;} 空格分隔
    说明:选择符1和选择符2用空格隔开,含义就是选择符1中包含的所有选择符2;
    用法:当我的元素存在父级元素的时候,我要改变自己本身的样式,可以不另加选择符,直接用包含选择器的方式解决。
image-1679557856876

7. 伪类选择符(伪类选择符CSS中已经定义好的选择器,不能随便取名)

    语法: 一般和<a>一起使用

  • a:link{属性:属性值;}超链接的初始状态;
  • a:visited{属性:属性值;}超链接被访问后的状态;
  • a:hover{属性:属性值;}鼠标悬停,即鼠标划过超链接时的状态;
  • a:active{属性:属性值;}超链接被激活时的状态,即鼠标按下时超链接的状态;要让他们遵守一个爱恨原则love/hate,也就是Link–visited–hover–active。

    说明

  • 当这4个超链接伪类选择符联合使用时,应注意他们的顺序,正常顺序为:
    a:link,a:visited,a:hover,a:active,错误的顺序有时会使超链接的样式失效;
  • 为了简化代码,可以把伪类选择符中相同的声明提出来放在a选择符中;
    例如:a{color:red;} a:hover{color:green;} 表示超链接的三种状态都相同,只有鼠标划过变颜色。 
    image-1679558143454

8. 伪对象(伪元素)选择符
    用于创建一些不在文档树中的元素,并为其添加样式(如:before/:after)

    CSS3中引入双冒号(::)除了IE8及其以下版本不支持外,所有的浏览器均支持伪元素中双冒号的使用。一些伪元素,如::backdrop只接受双冒号的使用。

    如果想要兼容低版本的浏览器,都使用单冒号即可,在那些指定使用双冒号的伪元素上必须还是使用双冒号。

    语法:可理解为同伪类选择器一样的冒号写法

  • first-letter/:first-letter:设置对象内的第一个字符的样式。
  • first-line/:first-line:设置对象内的第一行的样式。
  • before/:before:设置在对象(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用
  • after/:after:设置在对象(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用
  • :selection:设置对象被选择时的颜色。
  • ::placeholder:::-webkit-input-placeholde/::-moz-placeholder/:-ms-input-placeholder 设置一个表单元素的占位文本

七、CSS选择符的权重

css中用四位数字表示权重,权重的表达方式如:0,0,0,0

  • 类型选择符的权重为0001
  • class选择符的权重为0010
  • id选择符的权重为0100
  • 子选择符的权重为0000
  • 属性选择符的权重为0010
  • 伪类选择符的权重为0010
  • 伪元素选择符的权重为0010
  • 包含选择符的权重:为包含选择符的权中之和
  • 内联样式的权重为1000
  • 继承样式的权重为0000

    当不同选择符的样式设置有冲突的时候,高权重选择符的样式会覆盖低权重选择符的样式。

例如:b .demo的权重是1+10=11, .demo的权重是10,所以经常会发生.demo的样式失效

相同权重的选择符,样式遵循就近原则:哪个选择符最后定义,就采用哪个选择符样式。
 
(注意:是css样式中定义该选择符的先后,而不是html中使用先后)

八、页面中的注释

html注释
<!-- 我是div的页面注释 -->
css注释
/* 我是css的注释 */

九、css float

    定义: 定义网页中其它文本如何环绕该元素显示
    目的: 就是让竖着的东西横着来
    语法:float: none/left/right;

left: 元素活动浮动在文本左面
right: 元素浮动在右面
none: 默认值,不浮动。

文本第一设置浮动 其余不设置  第一会覆盖第二的半层
浮动若不影响下边  就加盒子


左浮动


右浮动

weixin

0

评论区