美文网首页
CSS基础笔记(1)-选择器、文本与字体属性

CSS基础笔记(1)-选择器、文本与字体属性

作者: 布拉德澈 | 来源:发表于2023-02-09 16:01 被阅读0次

CSS(cascading style sheet,层叠式样式表)是用来给HTML标签设置样式的语言。

一、传统CSS2.1选择器

(一)标签选择器和id选择器

标签选择器也称元素选择器、类型选择器。它直接使用元素的标签当做选择器,将选择页面上所有该种标签。
(1)标签选择器将选择页面上所有该种标签,无论这个标签所处位置的深浅。
(2)标签选择器“覆盖面”大,所以通常用于标签的初始化

ul{ 
  list-style:none;/***去掉无须列表的小圆点***/
}
a{
  text-decoration: none; /***去掉超链接的下划线***/
}

标签可以有id属性,是这个标签的唯一标识
id名称只能由字母、数字、下划线、短横构成,且不能以数字开头,字母区分大小写。

<p id="p-style">为中华崛起而读书</p>
#p-style  {
    font-size: 24px;
    color: chartreuse;
}

(二)class选择器

class属性表示“类名”
class命名规范和id命名规范相同。使用点.类名选择指定class的标签。
同一个标签可以同时属于多个类,类名用空格隔开。

<p class="warning spec">这是一个警告</p>
.warning{
  color: red;
}
.spec{
  font-style:italic  /*文字倾斜*/
}

原子类:在制作网页项目前,可以将所有的常用字号、文字颜色、行高、外边距、内边距等都设置为单独的类

(三)复合选择器
复合选择器主要有三类
1.后代选择器例如:.box .spec 选择类名为box的标签内部的类名为spec的标签

CSS选择器中,使用空格表示"后代"
"后代"并不一定是"儿子",还包括"孙子,曾孙"
后代选择器通过很多空格,隔开好几代

.box ul li .spec em{
  color: red
}
<div class="box">
  <ul>
    <li><p class="spec">我是一个段落<em>红色文字</em><p></li>
  </ul>
</div>

2.交集选择器例如:li.spec 选择既是li标签,也属于spec类的标签

3.并集选择器例如:ul,ol 选择所有ul和ol标签

并集选择器也叫做分组选择器,逗号表示分组

ul,ol{
  list-style:none
}

\color{red}{选择器可以任何搭配、结合,从而形成复合选择器。}

(四)伪类

伪类是添加到选择器的描述性词语,指定要选择的元素的特殊状态

超级链接拥有四个特殊状态
a:link没有被访问的超级链接
a:visited已经被访问的超级链接
a:hover 正鼠标悬停的超级链接
a:active正被激活的超级链接 (按下按键但是还没有松开按键)

a标签的伪类书写,要按照"爱恨准则"的顺序,否则会有伪类不生效
:link -> :visited -> :hover -> :active

a:link {
    color: rgb(84, 6, 241)
}
a:visited {
    color: rgb(194, 244, 66);
}
a:hover {
    background-color: crimson;
}
a:active {
    font-size: 24px;
}
<p> <a href="http://www.163.com" target="_blank">网易</a> </p>
<p> <a href="http://www.jd.com"> 京东 </a> </p>

二、CSS3新增选择器

(一)元素关系选择器
1.子选择器div>p:div的子标签p

当使用>符号分隔两个元素时,它只会匹配那些作为第一个元素的直接后代元素,即两个标签为父子关系。.box>p{...}
后代选择器不一定限制时子元素.box p{...}

2.相邻兄弟选择器img+p:图片后面紧跟着的段落将被选中

相邻兄弟选择器+介于两个选择器之间,当第二个元素紧跟在第一个元素之后,并且两个元素都是属于同一个父元素的子元素,则第二个元素将被选中。img+span 就是选择"紧跟在后面的一个span"

3.通用兄弟选择器p~span:p元素之后的多有同层级span元素

(二)序号选择器

  1. :first-child

表示"选择第一个子元素",比如下面的例子就表示选择.box1盒子中的第一个p.box1 p:first-child{color:red;}

  1. :last-child

表示"选择最后一个子元素",比如后例就表示选择.box1盒子最后一个p.
.box1 p:last-child{color:red;}

3.:nth-child()

:nth-child()可以选择任意序号的子元素.box2 p:nth-child(3){color:green;}
:nth-child()可以写成an+b的形式,表示从b开始每个a个选一个,注意不能携程b+an。
.box2 p:nth-child(3n+2){color:green}
2n+1等价于odd表示奇数,2n等价于even,表示偶数

4.:nth-of-type()

选择同种标签指定序号的子元素..box4 p:nth-of-type(3){color:blue;}

5.:nth-last-child()和:nth-last-of-type() 都是倒数选择

(三)属性选择器
img[alt]:选择有alt属性的img标签
img[alt="太阳"]:选择alt属性是太阳的img标签
img[alt^=''成都"]:选择alt属性以成都开头的 img标签
img[alt$=''夜景"]: 选择alt属性以夜景结尾的img标签
img[alt*="美"]: 选择alt属性中含有美字的img标签
img[alt~="手机摄影"]: 选择alt属性中有空格隔开的手机拍摄字眼的img标签
img[alt|="参赛作品"]: 选择有alt属性以“参赛作品”开头的img标签
用得少。
(四)CSS3新增伪类
empty选择空标签
focus选择当前获得焦点的表单元素
enabled选择当前有效的表单元素
disabled选择当前无效的表单元素
checked选择当前已经勾选的单选按钮或则复选框
root选择根元素,即<html>标签

(五)伪元素

css3新增“伪元素”特性,表示虚拟动态创建的元素。伪元素用双冒号表示。

::before创建一个伪元素,其将成为匹配选中的\color{red}{元素的第一个子元素},必须设置content属性表示其中的内容。
::after创建一个伪元素,其将成为匹配选中的\color{red}{元素的最后一个子元素},必须设置content属性表示其中的内容。

<body>
    <p><a href="">我是超链一</p>
    <p><a href="">我是超链二</p>
</body>
<style>
a::before {
    content: '@'
}
a::after {
    content: '*'
}
</style>

::selectioncss伪元素应用于\color{red}{文档中被用户高亮的部分(使用鼠标圈选的部分)}
::first-letter会选中某元素中(必须是块级元素)第一行的第一个字母
::first-line会选中某元素中(必须是块级元素)第一行的全部文字

三、层叠性和选择器权重计算

层叠性:\color{red}{多个选择器可以同时作用于同一个标签,效果叠加}
层叠性的冲突处理: \color{red}{id权重>class权重>标签权重}
复杂选择器可以通过\color{red}{(id个数,class的个数,标签的个数)}的形式,计算权重
需要将某个选择器的某条属性提升权重,可以再属性后面添加 \color{red}{ !important }

四、常用文本样式属性

(一)color属性
color属性可设置\color{blue}{文本内容的前景色}.可以使用英语单词、十六进制、rgb()、rgba()等表示法

1.通常使用十六进制表示 color:#ff0000;
2.rgba()表示法:最后一个参数表示透明度,介于0-1之间,0表示纯透明,1表示纯实心。color:rgba(255,0,0,.65)

(二)font-size属性
font-size属性用来设置字号,通常使用pxemrem为单位,例如: font-size:30px
(三)font-weight
font-weight属性设置字体的粗细程度,通常就用normal和bold两个值

font-weight:normal 正常粗细,与400等值
font-weight:bold 加粗,与700等值
font-weight:normal 更细,大多数中文字体不支持
font-weight:normal 更粗,大多数中文字体不支持

(三)font-style属性
font-style属性设置字体的倾斜

font-style:normal 取消倾斜,可以把天生倾斜的i、em等标签设置为不倾斜
font-style:italic 设置为倾斜字体(常用)
font-style:oblique 设置为倾斜字体(用常规字体模拟,不常用)

(四)text-decoration属性

text-decoration:none; 没有修饰线
text-decoration:underline; 下划线
text-decoration:line-through; 删除线
text-decoration属性用于设置文本的修饰线外观(下划线、删除线)

五、字体属性详解

(一)font-family属性
font-family用于设置字体.font-family:"微软雅黑"

1.字体可以是列表形式,一般英语字体放到前面,后面的字体是前面的“后备字体”
font-family:serig,"Times New Roman","微软雅黑"\color{red}{字体中有空格,必须用引号包裹}
2.中文字体也可以使用他们的英语名字表示:"微软雅黑"="microsoft Yahei","宋体"="Simsun"
3.为保证通用性,字体\color{red}{!通常使用用户计算机中已经安装好的常用字体}。为了用户浏览器正常使用我们自定义的字体,需要保证用户加载网页的时候,同时下载字体文件。
4.字体文件根据操作系统和浏览器的不同,有eot、woff2、woff、ttf、svg文件格式。

(二)定义字体

@font-face定义字体

<style>
@font-face{
  font-family:"字体名称";
  font-display:swap;
  src:url("eot字体文件位置");
  src:url("eot字体文件位置") format("embedded-opentype"),
  src:url("woff2字体文件位置") format("woff2"),
  src:url("woff字体文件位置") format("woff"),
  src:url("ttf字体文件位置") format("truetype"),
  src:url("svg字体文件位置") format("svg")
 }
</style>

👍阿里巴巴免费商用授权普惠字体

六、段落和行相关属性

(一)text-indent属性

text-indent定义首行文本内容之前的缩进量。缩进两个字符 text-indent:2em;

(二)line-height属性

line-height属性定义行高。
行高字面意思是一行文本的高度,行内居中文本的行高上下间隙应该是一致的。 行高测量定义可以是:上一行文本顶部到下一行文本顶部的纵向距离;也可以是上一行文本底部到下一行文本底部的纵向距离。

1.line-height属性的可以是以px为单位的数值
line-height:30px;
2.line-height属性也可以是没有单位的数值,\color{red}{表示字号的倍数}
line-height:1.5;
2.line-height属性也使用百分数\color{red}{表示字号的倍数}
line-height:150%;
(三)单行文本居中
设置\color{red}{行高=盒子高度},就可以实现当行文本垂直居中
设置\color{red}{text-align:center},实现文本水平居中。
(四)font合写属性
font属性可以用来作为font-style,font-weight,font-size,line-height,font-family属性的合写
font:20px/1.6 Arial,"微软雅黑";

七、继承性

文本相关的属性普遍具有继承性,只需要给祖先标签设置,即可在后台所有标签中生效。
colorfont-开头、list-开头、text-开头、line-开头、
因为继承性,所以通常设置\color{red}{body标签的字号、颜色、行高}等, 即可设置整个网页的默认样式。

相关文章

  • CSS介绍

    CSS简介 CSS基础选择器 CSS字体属性 CSS文本属性 CSS的引入方式 CSS简介 CSS是层叠样式表(C...

  • 九、CSS字体属性与文本属性

    一、CSS字体属性与文本属性 1、CSS字体属性 CSS Fonts(字体)属性用于定义、大小、粗细、和文字样式(...

  • web-3

    目录:1 基础认知2 基础选择器3 字体和文本样式4 chrome调试工具5 综合案例 一:CSS介绍 1 css...

  • No.8 CSS字体属性、文本属性、背景、界面样式

    一、CSS字体属性 1.CSS字体系列 CSS 使用 font-family 属性定义文本的字体系列。 各种字体之...

  • 3.CSS 学习笔记第三节/字体属性和文本属性

    CSS 学习笔记第三节/字体属性和文本属性 1.字体 下面开始详细的属性介绍,Let's rock and rol...

  • JQ第二天

    JQ高级 一、选择器 1、css语法匹配 2、索引匹配 二、文本、属性与类 1、文本 2、属性 3、类 三、事件 ...

  • 031 JQ高级

    JQ高级 一、选择器 1、css语法匹配 2、索引匹配 二、文本、属性与类 1、文本 2、属性 3、类 三、事件 ...

  • 【CSS属性大全】

    CSS的文本属性 文本属性-字体风格 font-style:设置字体风格; 常用的属性:normal(常规字体)、...

  • CSS——考试页面

    CSS字体 CSS 字体属性定义文本的字体系列、大小、加粗、风格和变形。 font-family:定义文本的字体系...

  • css学习笔记

    一、基础选择器 标签选择器:标签名 { css属性名:属性值; } 类选择器:.类名 { css属性名:属性值; ...

网友评论

      本文标题:CSS基础笔记(1)-选择器、文本与字体属性

      本文链接:https://www.haomeiwen.com/subject/iwhfkdtx.html