CSS -- 01. CSS基础

news2024/11/25 13:46:11

文章目录

  • CSS基础
    • 1 CSS简介
      • 1.1 HTML的局限性
      • 1.2 CSS介绍
      • 1.3 CSS语法规范
      • 1.4 CSS代码风格
    • 2 CSS基础选择器
      • 2.1 选择器的分类
      • 2.2 标签选择器
      • 2.3 **类选择器**
      • 2.4 id选择器
      • 2.5 通配符选择器
      • 2.6 基础选择器总结
    • 3 CSS字体属性
      • 3.1 字体系列
      • 3.2 字体大小
      • 3.3 字体粗细
      • 3.4 文字样式
      • 3.5 字体复合属性
      • 3.6 字体属性总结
    • 4 CSS文本属性
      • 4.1 文本颜色
      • 4.2 对齐文本
      • 4.3 装饰文本
      • 4.4 文本缩进
      • 4.5 行间距
      • 4.6 文本属性总结
    • 5 CSS的引入方式
      • 5.1 CSS的三种样式表
      • 5.2 内部样式表
      • 5.3 行内样式表
      • 5.4 外部样式表
      • 5.5 引入方式总结

CSS基础

1 CSS简介

CSS 的主要使用场景就是美化网页,布局页面的.

1.1 HTML的局限性

HTML只关注内容的语义,比如 <h1> 表明这是一个大标题,<p> 表明这是一个段落,<img> 表明这儿有一个图片,<a> 表示此处有链接。

很早的时候,世界上的网站虽然很多,但是他们都有一个共同的特点:丑。

虽然 HTML 可以做简单的样式,但是带来的是无尽的臃肿和繁琐

1.2 CSS介绍

CSS 是层叠样式表 ( Cascading Style Sheets ) 的简称.

有时我们也会称之为 CSS 样式表级联样式表

CSS 是也是一种标记语言

CSS 主要用于设置 HTML 页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局和外观显示样式

CSS 让我们的网页更加丰富多彩,布局更加灵活自如。简单理解:CSS 可以美化 HTML , 让 HTML 更漂亮,让页面布局更简单

总结:

  1. HTML 主要做结构,显示元素内容.

  2. CSS 美化 HTML ,布局网页.

  3. CSS 最大价值: 由 HTML 专注去做结构呈现,样式交给 CSS,即 结构 ( HTML ) 与样式( CSS ) 相分离。

1.3 CSS语法规范

使用 HTML 时,需要遵从一定的规范,CSS 也是如此。要想熟练地使用 CSS 对网页进行修饰,首先需要了解CSS 样式规则。

  • CSS 规则由两个主要的部分构成:选择器以及一条或多条声明
  • 选择器是用于指定 CSS 样式的 HTML 标签,花括号内是对该对象设置的具体样式
  • 属性和属性值以“键值对”的形式出现
  • 属性是对指定的对象设置的样式属性,例如字体大小、文本颜色等
  • 属性和属性值之间用英文:分开
  • 多个“键值对”之间用英文;进行区分

image-20221209233901804

所有的样式,都包含在 <style> 标签内,表示是样式表。<style> 一般写到 <head></head> 中间。

例如:

<head>
    <style>
        h4 {
            color: blue;
            font-size: 100px;
        }
    </style>
</head>

1.4 CSS代码风格

以下代码书写风格不是强制规范,而是符合实际开发书写方式.

  1. 样式格式书写

    更推荐使用第二种,因为更加直观

    1. 紧凑格式

      h3 { color: deeppink;font-size: 20px;}
      
    2. 展开格式

      h3 {
          color: pink;
          font-size: 20px; 
      }
      
  2. 样式大小写

    强烈推荐样式选择器,属性名,属性值关键字全部使用小写字母,特殊情况除外。

    h3 {
     	color: pink;
    }
    
    H3 {
     	COLOR: PINK; 
    }
    
  3. 空格规范

    ① 属性值前面,冒号后面,保留一个空格

    ② 选择器(标签)和大括号中间保留空格

    h3 {
     	color: pink; 
    }
    

2 CSS基础选择器

CSS 选择器参考手册 (w3school.com.cn)

选择器(选择符)就是根据不同需求把不同的标签选出来这就是选择器的作用。 简单来说,就是选择标签用的

2.1 选择器的分类

选择器分为基础选择器和复合选择器两个大类,我们这里先讲解一下基础选择器。

  • 基础选择器是由单个选择器组成的
  • 基础选择器又包括:标签选择器、类选择器、id 选择器和通配符选择器

2.2 标签选择器

标签选择器(元素选择器)是指用 HTML 标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的 CSS 样式。

语法:

标签名{
    属性1: 属性值1; 
    属性2: 属性值2; 
    属性3: 属性值3; 
    ...
}

示例:将所有div的背景颜色设置为红色

div {
	background-color: "red";
}
  • 作用:标签选择器可以把某一类标签全部选择出来,比如所有的 <div> 标签和所有的 <span> 标签。
  • 优点:能快速为页面中同类型的标签统一设置样式。
  • 缺点:不能设计差异化样式,只能选择全部的当前标签。

2.3 类选择器

如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用类选择器

类选择器在 HTML 中以 class 属性表示,在 CSS 中,类选择器以一个点.号显示。

语法

.类名 {
    属性1: 属性值1; 
    属性2: 属性值2; 
} 

结构需要用class属性来调用 class 类的意思

<div class=‘red’> 变红色 </div>

例如,将所有拥有 red 类的 HTML 元素均为红色。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>基础选择器之类选择器</title>
    <style>
        /* 类选择器口诀: 样式点定义  结构类(class)调用  一个或多个 开发最常用*/
      .red {
          color: red;
      }
      .star-sing {
        color: green;
      }
      .memeda {  
         color: pink;
      }
    </style>
</head>
<body>
    <ul>
        <li class="red">冰雨</li>
        <li class="red">来生缘</li>
        <li>李香兰</li>
        <li class="memeda">生僻字</li>
        <li class="star-sing">江南style</li>
    </ul>
    <div class="red">我也想变红色</div>
</body>
</html>

image-20221210000157839

① 类选择器使用.(英文点号)进行标识,后面紧跟类名(自定义,我们自己命名的)。

② 可以理解为给这个标签起了一个名字,来表示。

③ 长名称或词组可以使用中横线来为选择器命名。

④ 不要使用纯数字、中文等命名,尽量使用英文字母来表示。

⑤ 命名要有意义,尽量使别人一眼就知道这个类名的目的。

⑥ 命名规范:见附件( Web 前端开发规范手册.doc)

除了单个类名外,我们也可以以给一个标签指定多个类名,从而达到更多的选择目的。 这些类名都可以选出这个标签.

多类名使用方式

<div class="red font20">亚瑟</div>

(1) 在标签class 属性中写 多个类名

(2) 多个类名中间必须用空格分开

(3) 这个标签就可以分别具有这些类名的样式

多类名使用场景

(1) 可以把一些标签元素相同的样式(共同的部分)放到一个类里面.

(2) 这些标签都可以调用这个公共的类,然后再调用自己独有的类.

(3) 从而节省CSS代码,统一修改也非常方便.

<div class="pink fontWeight font20">亚瑟</div>
<div class="font20">刘备</div>
<div class="font14 pink">安其拉</div>
<div class="font14">貂蝉</div>
  • 各个类名中间用空格隔开
  • 简单理解:就是给某个标签添加了多个类,或者这个标签有多个名字
  • 这个标签就可以分别具有这些类名的样式
  • 从而节省CSS代码,统一修改也非常方便.
  • 多类名选择器在后期布局比较复杂的情况下,还是较多使用的

2.4 id选择器

id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。

HTML 元素以 id 属性来设置 id 选择器,CSS 中 id 选择器以# 来定义

注意:id 属性只能在每个 HTML 文档中出现一次。

语法

#id名 {
    属性1: 属性值1; 
    ...
}

例如,将 id 为 nav 元素中的内容设置为红色。

#nav {
    color:red;
}

id选择器和类选择器的区别

① 类选择器(class)好比人的名字,一个人可以有多个名字,同时一个名字也可以被多个人使用

② id 选择器好比人的身份证号码,全中国是唯一的,不得重复。

③ id 选择器和类选择器最大的不同在于使用次数上

④ 类选择器在修改样式中用的最多,id 选择器一般用于页面唯一性的元素上,经常和 JavaScript 搭配使用。

2.5 通配符选择器

在 CSS 中,通配符选择器使用*定义,它表示选取页面中所有元素(标签)

语法

* {
    属性1: 属性值1; 
    属性2: 属性值2; 
}

通配符选择器不需要调用, 自动就给所有的元素使用样式

特殊情况才使用,后面讲解使用场景(以下是清除所有的元素标签的内外边距)

* {
    margin: 0;
    padding: 0;
}

2.6 基础选择器总结

image-20221210001456580

  • 每个基础选择器都有使用场景,都需要掌握
  • 如果是修改样式, 类选择器是使用最多的

3 CSS字体属性

CSS Fonts (字体)属性用于定义字体系列、大小、粗细、和文字样式(如斜体)。

3.1 字体系列

CSS 使用 font-family 属性定义文本的字体系列。

p { font-family:"微软雅黑";} 
div {font-family: Arial,"Microsoft Yahei", "微软雅黑";}
  • 各种字体之间必须使用英文状态下的逗号隔开
  • 一般情况下,如果有空格隔开的多个单词组成的字体,加引号.
  • 尽量使用系统默认自带字体,保证在任何用户的浏览器中都能正确显示
  • 最常见的几个字体:body {font-family: 'Microsoft YaHei', tahoma, arial, 'Hiragino Sans GB'; }
  • 浏览器会优先显示写着前面的字体,如果没有再去找后面的,如果全都没有,则会使用浏览器默认字体显示

3.2 字体大小

CSS 使用 font-size 属性定义字体大小。

p { 
 	font-size: 20px; 
}
  • px(像素)大小是我们网页的最常用的单位
  • 谷歌浏览器默认的文字大小为16px
  • 不同浏览器可能默认显示的字号大小不一致,我们尽量给一个明确值大小,不要默认大小
  • 可以给 body 指定整个页面文字的大小

3.3 字体粗细

CSS 使用 font-weight 属性设置文本字体的粗细

p { 
 	font-weight: bold;
}

image-20221210001744294

3.4 文字样式

CSS 使用 font-style 属性设置文本的风格。

注意:

平时我们很少给文字加斜体,反而要给斜体标签(em,i)改为不倾斜字体。

p { 
 	font-style: normal;
}

image-20221210001824742

3.5 字体复合属性

字体属性可以把以上文字样式综合来写, 这样可以更节约代码

body { 
 	font: font-style font-weight font-size/line-height font-family;
}
  • 使用 font 属性时,必须按上面语法格式中的顺序书写,不能更换顺序,并且各个属性间以空格隔开
  • 不需要设置的属性可以省略(取默认值),但必须保留 font-size 和 font-family 属性,否则 font 属性将不起作用

3.6 字体属性总结

image-20221210002005362

4 CSS文本属性

CSS Text(文本)属性可定义文本的外观,比如文本的颜色、对齐文本、装饰文本、文本缩进、行间距等

4.1 文本颜色

color 属性用于定义文本的颜色。

div { 
 	color: red;
}

开发中最常用的是十六进制.

image-20221210002542079

4.2 对齐文本

text-align 属性用于设置元素内文本内容的水平对齐方式。

div { 
 	text-align: center;
}

image-20221210002815646

4.3 装饰文本

text-decoration 属性规定添加到文本的修饰。可以给文本添加下划线、删除线、上划线等。

div { 
 	text-decoration:underline;
}

重点记住如何添加下划线 ? 如何删除下划线 ? 其余了解即可

image-20221210002915782

4.4 文本缩进

text-indent 属性用来指定文本的第一行的缩进,通常是将段落的首行缩进

div { 
 	text-indent: 10px;
}

通过设置该属性,所有元素的第一行都可以缩进一个给定的长度,甚至该长度可以是负值。

p { 
 	text-indent: 2em;
}

em 是一个相对单位,就是当前元素(font-size) 1 个文字的大小, 如果当前元素没有设置大小,则会按照父元素的 1 个文字大小。所以这个设置相当于首行缩进两格

4.5 行间距

line-height 属性用于设置行间的距离(行高)。可以控制文字行与行之间的距离.

p { 
 	line-height: 26px;
}

image-20221210003212144

4.6 文本属性总结

image-20221210003237618

5 CSS的引入方式

5.1 CSS的三种样式表

按照 CSS 样式书写的位置(或者引入的方式),CSS 样式表可以分为三大类:

  1. 行内样式表(行内式)

  2. 内部样式表(嵌入式)

  3. 外部样式表(链接式)

5.2 内部样式表

内部样式表(内嵌样式表)是写到html页面内部. 是将所有的 CSS 代码抽取出来,单独放到一个 <style> 标签中。

<style>
    div {
        color: red;
        font-size: 12px;
    }
</style>
  • <style> 标签理论上可以放在 HTML 文档的任何地方,但一般会放在文档的<head>标签中
  • 通过此种方式,可以方便控制当前整个页面中的元素样式设置
  • 代码结构清晰,但是并没有实现结构与样式完全分离
  • 使用内部样式表设定 CSS,通常也被称为嵌入式引入,这种方式是我们练习时常用的方式

5.3 行内样式表

行内样式表(内联样式表)是在元素标签内部的 style 属性中设定 CSS 样式。适合于修改简单样式

<div style="color: red; font-size: 12px;">青春不常在,抓紧谈恋爱</div>
  • style 其实就是标签的属性
  • 在双引号中间,写法要符合 CSS 规范
  • 可以控制当前的标签设置样式
  • 由于书写繁琐,并且没有体现出结构与样式相分离的思想,所以不推荐大量使用,只有对当前元素添加简单样式的时候,可以考虑使用
  • 使用行内样式表设定 CSS,通常也被称为行内式引入

5.4 外部样式表

实际开发都是外部样式表. 适合于样式比较多的情况. 核心是: 样式单独写到CSS 文件中,之后把CSS文件引入到 HTML 页面中使用

引入外部样式表分为两步:

  1. 新建一个后缀名为 .css 的样式文件,把所有 CSS 代码都放入此文件中。

  2. 在 HTML 页面中,使用<link> 标签引入这个文件。

<link rel="stylesheet" href="css文件路径">

image-20221210003608695

使用外部样式表设定 CSS,通常也被称为外链式链接式引入,这种方式是开发中常用的方式

5.5 引入方式总结

image-20221210003702269

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/80234.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]JAVA毕业设计医药垃圾分类管理系统(系统+LW)

[附源码]JAVA毕业设计医药垃圾分类管理系统&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目…

Day827.安全性、活跃性以及性能问题 -Java 并发编程实战

安全性、活跃性以及性能问题 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于安全性、活跃性以及性能问题的内容。 并发编程中需要注意的问题有很多&#xff0c;主要有三个方面&#xff0c;分别是&#xff1a; 安全性问题活跃性问题性能问题 一、安全性问题 相信一…

论文讲解p2p4

本人水平有限,很多地方可能有说错或者理解错的地方请指出,谢谢谅解 一.原始电路图 1.简介:本电路是从1977年一篇电荷重新分配的理念进化而来,论文如下: All-MOS charge redistribution analog-to-digital conversion techniques. --JAMES L. McCREARY 2.因为从一开始充电过…

Java使用H2数据库全方式汇总

H2是轻量级数据库&#xff0c; 可以不需要安装就可以运行&#xff0c;对于快速学习和演示比较适用。关于H2的基本内容可以参考&#xff1a; H2 数据库简介 。 本篇快速介绍H2数据库在各种类型的Java应用中的使用&#xff0c; 包括&#xff1a; Java 项目Java Web 项目Spring B…

《域渗透攻防指南》签名版预售来啦

千呼万唤始出来&#xff01;终于&#xff0c;在广大粉丝翘首期盼下&#xff0c;国内首本专门讲述域内攻防的书籍《域渗透攻防指南》在2022年最后一个月和大家见面了。为了回馈粉丝的等待&#xff0c;让粉丝早日拿到心仪的书&#xff0c;特此联合机械工业出版社弄了签名版书预售…

GLAD:部分相干光模拟

概述 一个理想的单色点光源发射的光是完全相干光。但实际物理光源不是点源&#xff0c;总是具有一定的空间尺度并包含众多辐射单元&#xff0c;其发出的光也非严格的单色光,其光谱具有一定宽度&#xff0c;这种光即部分相干光。产生部分相干光主要有三种方法&#xff1a; …

Python中常用的内置函数集合

这篇文章主要介绍了Python中常用的内置函数&#xff0c;主要介绍内容有map()、filter()、all()、int()等更多相关函数&#xff0c;需要的小伙伴可以看看。 一、map() map(func,iterable)&#xff0c;其中func为函数名&#xff0c;可为lambda匿名函数&#xff0c;iterable为可迭…

全栈Jmeter接口测试(二):jmeter组件元件介绍,利用取样器中http发送请求

JMeter 的主要测试组件总结如下&#xff1a; 1. 测试计划是使用 JMeter 进行测试的起点&#xff0c;它是其它 JMeter 测试元件的容器 2. 线程组代表一定数量的并发用户&#xff0c;它可以用来模拟并发用户发送请求。实际的 请求内容在Sampler中定义&#xff0c;它被线程组包含…

Camtasia Studio2023电脑屏幕录制软件免费版

TechSmith Camtasia Studio2023免费的屏幕录像视频编辑软件&#xff0c;最专业的电脑屏幕录制及编辑软件&#xff01;这款专业录屏与视频创作大型软件包含屏幕录像、视频编辑、视频菜单制作、视频录音配音、视频发布等系列强大功能。 全新的Camtasia 2023 让您用更短的时间创…

【图像隐写】GBT+SVD数字水印嵌入与提取【含Matlab源码 1668期】

⛄一、SVD数字水印简介 理论知识参考文献&#xff1a;基于DWT和SVD的彩色图像数字水印算法研究 一种基于DWT-SVD的图像数字水印算法 ⛄二、部分源代码 clc close all clear %% Input images Iimread(‘Lena.jpg’); Iimresize(I,[512,512]); logorandsrc(8,8,[0,1]); figur…

青春不过,几次世界杯,足球让我明白,努力的方向

人生就像足球&#xff0c;你不会永远进球&#xff0c;但会一直跑在路上&#xff01;直到遇到足球&#xff0c;我的人生彻底改变&#xff0c;我很记得我第一个足球的样子&#xff0c;在我心里&#xff0c;它就像一颗糖果 ——梅西⚽️ 随着2022卡塔尔世界杯的开赛&#xff0c;各…

GitHub上架即巅峰,《Spring Cloud微服务架构实战》标星已超30k

有人调侃我们说&#xff1a; 程序员不如送外卖。送外卖是搬运食物&#xff0c;自己是搬运代码&#xff0c;都不产出新的东西……透支体力&#xff0c;又消耗健康&#xff0c;可替代性极强&#xff0c;30岁之后就要面临被优化的危险……想跳槽&#xff0c;但是更高的平台难进&a…

R 两组样本t检验 wilcoxon检验、卡方、fisher精确检验

一般统计方法R实现 文章目录一、读入数据二、连续性变量1.正态性和方差齐性检验2.描述统计量3.独立样本t检验和wilcoxon秩和检验三、四格表卡方或fisher精确检验&#xff08;OR【95%CI】&#xff09;1.计算各组频数和相对频率2.整理数据进行检验总结一、读入数据 library(read…

#Linux杂记# grep 查找命令常用选项大全(一)

今天&#xff0c;难得好天气&#xff0c;过去阴雨绵绵几天&#xff0c;确实干什么都没多少心劲。 对于Linux 指令&#xff0c;其实工作中用的也就那么多&#xff0c;但是真正用的很6的&#xff0c;确实给我们工作效率带来极大提高。 -i&#xff1a;在搜索的时候忽略大小写。 …

数据技术篇之离线数据开发

第4章 离线数据开发 采集系统采集的大量数据只有被整合计算后才能用于洞察商业规律&#xff0c;挖掘潜在的信息&#xff0c;实现其价值。面对海量的数据和复杂的计算&#xff0c;阿里巴巴的数据计算层包括两大体系&#xff1a; 数据存储及计算平台&#xff08;离线计算平台MaxC…

【OpenCV-Python】教程:4-8 ORB (Oriented FAST and Rotated BRIEF)

OpenCV Python ORB (Oriented FAST and Rotated BRIEF) 【目标】 理解 ORB 的基础理论 【理论】 ORB 来自于 OpenCV 实验室&#xff1b;在ICCV2011的论文 “ORB: An efficient alternative to SIFT or SURF” 提出&#xff0c;是 SIFT 和 SURF 的替代&#xff0c;没有专利问…

Java解析XML-JDK

JAXB 概述 JAXB&#xff08;Java Architecture for XML Binding&#xff09;是J2SE和J2EE平台的一部分&#xff0c;让开发者能够快速完成Java类和XML的互相映射。 JAXB 允许Java人员将Java类映射为XML表示方式。其实&#xff0c;JAXB是一个业界标准&#xff0c;是一项可以根据X…

企业景气指数、企业家信心指数-季度数据(2005-2022年)

&#xff08;2005-2022年&#xff09; 企业景气指数&#xff08;企业综合生产经营景气指数&#xff09;是根据企业负责人对本企业综合生产经营情况的判断与预期而编制的指数&#xff0c;用以综合反映企业的生产经营状况。 企业家信心指数综合反映企业家对宏观经济的看法和信心…

【Make YOLO Great Again】最终版本YOLOv1-v7全系列大解析(全网最详细汇总篇)

Rocky Ding公众号&#xff1a;WeThinkIn写在前面 【Make YOLO Great Again】栏目专注于从更实战&#xff0c;更深刻的角度解析YOLOv1-v7这个CV领域举足轻重的算法系列&#xff0c;并给出其在业务&#xff0c;竞赛以及研究维度的延伸思考。欢迎大家一起交流学习&#x1f4aa;&am…

node+vue基于微信小程序的乐团团购系统的设计与实现

随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&#xf…