CSS(一)---【CSS简介、导入方式、八种选择器、优先级】

news2024/9/21 20:50:35

零.前言

本系列适用于零基础小白,亦或是初级前端工程师提升使用。

知识点较为详细,如果追求非常详细,请移步官方网站或搬运网站。

1.CSS简介

CSS全称:“Cascading Style Sheets”,中文名:“层叠样式表”。

用于定义网页样式和布局的样式表语言。

通过CSS可以指定页面中各个元素的颜色、字体、大小、间距、边框等等样式。

如果HTML是一个房子的骨架,那么CSS就是对房子进行精装修

2.CSS一般语法

CSS通常由选择器标签idclass等)、属性属性值成。

需要注意的是:“属性对之间需要用分号隔开”、“属性对是以键:值对的形式出现的”。

例如一个<p>标签选择器:

p{
    background-color: aqua;
    font-size: 20px;
}

一.CSS的三种导入方式

1.1内部样式表

内部样式表CSS样式放在HTML文档的<head>标签中,并且使用<style></style>来指定内部样式表。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        p{
            background-color: aqua;
            font-size: 20px;
        }
    </style>
</head>
<body>
    <p>我的颜色是aqua并且字体大小是20像素</p>
</body>
</html>

效果如下:

1.2内联样式

内联样式CSS样式作为属性嵌入标签中,并且该样式只对嵌入该CSS样式的标签生效,使用style属性来指定样式。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p style="color: brown;font-size: larger;">我的颜色是brown并且字体大小是larger</p>
</body>
</html>

效果:

1.3外部样式表

外部样式表在HTML文档外部创建.CSS文件,并且引入.CSS文件来实现样式表。

例如我们在HTML文档目录下,有一个“style.css”文件:

在该css文件中,有如下样式:

那么我们就可以在HTML文档中输入该style.css文件的路径来导入这个样式表:

使用<link>标签的“href属性来导入:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./css/style.css">
</head>
<body>
    <h3>我是使用外部样式表来装饰的h3标签~</h3>
</body>
</html>

效果:

1.4三种导入方式的优先级

优先级高到低为:
内联样式 内部样式表 > 外部样式表”。

当一个标签同时有上述多种样式时,将默认使用最高优先级的样式来装饰自己。

看下面一个例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./css/style.css">
    <style>
        h3{
            color: aqua;
        }
    </style>
</head>
<body>
    <h3 style="color: blue;">我是使用最高优先级样式来装饰的h3标签~</h3>
</body>
</html>

最终效果:

可以看到,<h3>标签被内联样式所修饰。

二.8种选择器【重要

2.0简介

选择器是使用CSS的基础,不会使用选择器就不会使用CSS。

8种选择器:“元素(标签)选择器”、“类选择器”、“ID选择器”、“通用选择器”、“子元素选择器”、“后代(包含)选择器”、“兄弟(并集)选择器”、“伪类选择器”。

选择器常在“内部样式表”、“外部样式表”中使用,内联样式默认就是“ID选择器”。

选择器的格式:

2.1元素(标签)选择器

顾名思义,该选择器会对所有的标签进行一个装饰,例如我们写了一个<p>标签的选择器,那么所有的<p>标签都会被这个选择器所修饰。

用法

标签名{

属性:属性值;

属性:属性值;

.......

}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 标签选择器 */
        p{
            background-color: aqua;
            font-size: larger;
        }
    </style>
</head>
<body>
    <p>这是一个标签选择器示例</p>
    <p>这还是一个标签选择器示例</p>
</body>
</html>

效果:

 2.2类选择器

类选择器会修饰所有相同类的标签,哪怕标签种类不同。

用法:

注意类名前面有一个“

.类名{

属性:属性值;

属性:属性值;

.....

}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 类选择器 */
        .myclass{
            background-color: black;
            color: brown;
            font-size: larger;
        }
    </style>
</head>
<body>
    <p class="myclass">这是一个类选择器示例</p>
    <div class="myclass">这还是一个类选择器示例</div>
</body>
</html>

效果:

2.3ID选择器

ID选择器会唯一的修饰某个标签,通过ID来指定。

用法:

PS:一定注意在ID前面有一个“井号

#ID{

属性:属性值;

属性:属性值;

....

}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* ID选择器 */
        #myp{
            color: blue;
            font-size: larger;
        }
    </style>
</head>
<body>
    <p id="myp">这是一个ID选择器示例</p>
    <p>这是另一个ID选择器示例,不过我没有被选中</p>
</body>
</html>

效果:

2.4通用选择器

顾名思义,给所有的标签修饰样式,不管有没有IDclass,故也被叫做“全局选择器”。

用法:

PS:只有一个“星号”表示全部!!

*{

属性:属性值;

属性:属性值;

.....

}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 通用选择器 */
        *{
            color: blue;
            font-size: larger;
        }
    </style>
</head>
<body>
    <p>这是一个通用选择器的示例</p>
    <p id="myid">这也是一个通用选择器示例</p>
    <p class="myclass">这还是一个通用选择器示例</p>
</body>
</html>

效果:

2.5子元素选择器

子元素选择器可以指定修饰某个标签子元素的样式,对于父标签不会修饰

用法:

父元素方式 > 子元素方式{

属性:属性值;

属性:属性值:

....

}

这里的父元素方式和子元素方式不唯一,只要可以搜索到对应的父元素子元素即可!

即方式可以是:“通过标签搜索”、“通过ID搜索”、“通过类名搜索”。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 子元素选择器 */
        /* 父元素使用类名搜索,子元素使用ID搜索 */
        .father > #son{
            font-size: larger;
            color: blue;
        }
    </style>
</head>
<body>
    <div class="father">
        我是子元素,但我没有id
        <p id="son">我也是子元素,但我有id</p>
    </div>
</body>
</html>

效果:

2.6后代选择器

后代选择器也叫“孩子选择器”。

只要是父元素孩子就可以被修饰,可能有点绕,不过仔细想一下就好了,子元素的子元素不就是父元素的孩子(重孙子)吗?

用法:

父元素方法 后代元素方法{

属性:属性值;

属性:属性值;

.....

}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 后代选择器 */
        .father .grandson{
            color: blue;
            font-size: larger;
        }
    </style>
</head>
<body>
    <div class="father">
        <p class="grandson">我是子代标签哦~</p>
        <div>
            <p class="grandson">我是后代标签哦~</p>
        </div>
    </div>
</body>
</html>

效果:

2.7兄弟(并集)选择器

某个标签下方最近的一个同级标签被修饰。

用法:

兄弟元素A + 兄弟元素B{

属性:属性值;

属性:属性值;

....

}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 兄弟选择器 */
        h1 + p{
            color: blue;
            font-size: larger;
        }
    </style>
</head>
<body>
    <h1>我是兄弟A</h1>
    <p>我是兄弟B</p>
</body>
</html>

效果:

2.8伪类选择器【重要但不常用

某些特定条件下的元素应用样式(用户交互等)。

例如:鼠标悬停状态鼠标跟踪等等

不常用,待用到的时候查查百度好了....

用法:

元素 : 伪类方法{

属性:属性值;

属性:属性值;

....

}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 伪类选择器 */
        p:hover{
            background-color: blue;
        }
        p{
            background-color: brown;
        }
    </style>
</head>
<body>
    <p>鼠标悬停到我身上,我会变色哦~</p>
</body>
</html>

效果:

鼠标没有移动到<p>标签时:

移动上去后:

2.9八种选择器的优先级

优先级从高到低:

ID选择器 > 选择器 > 后代选择器 > 元素(标签)选择器

子代选择器 > 后代选择器

伪类选择器可以与其它任何选择器并存

元素(标签)选择器,优先级永远最低

三.其它

关于CSS属性设置、其它设置,请参考作者的下一篇文章:

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

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

相关文章

出行在外,又想用微软远程桌面控制千里之外的电脑?

前言 说到远程控制&#xff0c;想必很多小伙伴都不陌生。毕竟向日葵软件都是各位所熟知的远程控制软件。 出行在外&#xff0c;使用向日葵远程控制家里或者办公室的电脑是很常见的做法。在各种远程维修电脑的场景下&#xff0c;客服都会要求客户先安装好远程控制软件。 但是向…

状态模式实战运用

目录 前言 UML plantuml 类图 实战代码 Form State Client 前言 通常一个完整的业务流程中&#xff0c;会经历多个阶段&#xff0c;每个阶段即一个业务状态&#xff0c;不同状态下对应这不同的业务处理逻辑。 无脑堆砌 if else 做判断然后选择对应的业务处理其实也能…

Wireshark自定义协议解析器插件C语言开发

文章目录 概要Wireshark 软件整体架构基本概念解析器实现逻辑解析器编译环境搭建软件编译过程 概要 Wireshark是一款全球使用与开发维护人数最多的遵循GPL协议开源的网络协议分析软件&#xff0c;全球开发者为Wireshark编写了数千种协议的解析插件。 在实际的工作中&#xff0…

基于微信小程序的民宿短租系统设计与实现(论文+源码)_kaic

摘 要 随着社会的发展&#xff0c;出差、旅游成为常态&#xff0c;也就造成民宿短租市场的兴起。人们新到陌生的环境里找民宿一般都是通过中介。中介虽然可以快速找到合适的民宿但会收取大量的中介费用&#xff0c;这对刚到新环境里的人们来说是一笔大的资金支出。也有一些人通…

Learn OpenGL 26 视差贴图

什么是视差贴图 视差贴图(Parallax Mapping)技术和法线贴图差不多&#xff0c;但它有着不同的原则。和法线贴图一样视差贴图能够极大提升表面细节&#xff0c;使之具有深度感。它也是利用了视错觉&#xff0c;然而对深度有着更好的表达&#xff0c;与法线贴图一起用能够产生难…

AJAX-项目优化(目录、基地址、token、请求拦截器)

目录管理 基地址存储 在utils/request.js配置axios请求基地址 作用&#xff1a;提取公共前缀地址&#xff0c;配置后axios请求时都会baseURLurl 填写API的公共前缀后&#xff0c;将js文件导入到html文件中 <script src"../../utils/request.js"></script&…

寄主机显示器被快递搞坏了怎么办?怎么破?

大家好&#xff0c;我是平泽裕也。 最近&#xff0c;我在社区里看到很多关于开学后弟弟寄来的电脑显示器被快递损坏的帖子。 看到它真的让我感到难过。 如果有人的数码产品被快递损坏了&#xff0c;我会伤心很久。 那么今天就跟大家聊聊寄快递的一些小技巧。 作为一名曾经的…

springcloud微服务项目,通过gateway+nacos实现灰度发布(系统不停机升级)

一、背景 灰度发布的目的是保证系统的高可用&#xff0c;不停机&#xff0c;提升用户体验。在微服务系统中&#xff0c;原有系统不下线&#xff0c;新版系统与原有系统同时在线&#xff0c;通过访问权重在线实时配置&#xff0c;可以让少量用户先应用新版本功能&#xff0c;如…

计算机网络链路层

数据链路 链路是从一个节点到相邻节点之间的物理线路&#xff08;有线或无线&#xff09; 数据链路是指把实现协议的软件和硬件加到对应链路上。帧是点对点信道的数据链路层的协议数据单元。 点对点信道 通信的主要步骤&#xff1a; 节点a的数据链路层将网络层交下来的包添…

考研数学|高效刷透汤家凤《1800》经验分享

当然不需要换老师&#xff0c;如果你在基础阶段连汤老师的课都听不进去&#xff0c;那么换其他老师的话&#xff0c;很大可能也是白搭。 如果你现在对于1800还是一筹莫展的话&#xff0c;那么很明显&#xff0c;这反映出前期基础不扎实&#xff0c;没有真正理解和掌握这部分内…

基于Echarts的超市销售可视化分析系统(数据+程序+论文)

本论文旨在研究Python技术和ECharts可视化技术在超市销售数据分析系统中的应用。本系统通过对超市销售数据进行分析和可视化展示&#xff0c;帮助决策层更好地了解销售情况和趋势&#xff0c;进而做出更有针对性的决策。本系统主要包括数据处理、数据可视化和系统测试三个模块。…

【测试开发学习历程】Python数据类型:字符串-str(上)

目录 1 Python中的引号 2 字符串的声明 3 字符串的切片 4 字符串的常用函数 4.1 len()函数 4.2 ord()函数 4.3 chr()函数 5 字符串的常用方法&#xff08;内置方法/内建方法&#xff09; 5.1 find()方法 5.2 index()方法 5.3 rfind()方法 5.4 rindex()方法 1 Python…

杂货铺 | 使用 Github Pages 和 Hexo 搭建自己的独立博客

文章目录 &#x1f4da;Step1&#xff1a;安装Node.js和Git&#x1f4da;Step2&#xff1a;安装并初始化配置Hexo&#x1f4da;Step3&#xff1a;本地查看效果&#x1f4da;Step4&#xff1a;将博客部署到Github Pages上&#x1f407;创建项目代码库&#x1f407;配置SSH密钥&a…

GPT-1原理-Improving Language Understanding by Generative Pre-Training

文章目录 前言提出动机模型猜想模型提出模型结构模型参数 模型预训练训练的目标训练方式训练参数预训练数据集预训练疑问点 模型微调模型输入范式模型训练微调建议微调疑问点 实验结果分析 前言 首先想感慨一波 这是当下最流行的大模型的的开篇之作&#xff0c;由OpenAI提出。…

.helper勒索病毒的最新威胁:如何恢复您的数据?

导言&#xff1a; 随着信息技术的不断进步&#xff0c;网络安全问题日益突出&#xff0c;其中勒索病毒成为了威胁网络安全的一大隐患。.helper勒索病毒作为近期频繁出现的一种恶意软件&#xff0c;其危害性和传播速度引起了广大用户的深切关注。本文将深入探讨.helper勒索病毒…

OSCP靶场--pyLoader

OSCP靶场–pyLoader 考点(信息收集CVE-2023-0297) 1.nmap扫描 ┌──(root㉿kali)-[~/Desktop] └─# nmap -Pn -sC -sV 192.168.178.26 --min-rate 2500 Starting Nmap 7.92 ( https://nmap.org ) at 2024-03-28 09:14 EDT Nmap scan report for 192.168.178.26 Host is up…

阿里云服务器价格表(2024年最新阿里云服务器租用优惠价格表)

2024年阿里云服务器优惠价格表&#xff0c;一张表整理阿里云服务器最新报价&#xff0c;阿里云服务器网aliyunfuwuqi.com整理云服务器ECS和轻量应用服务器详细CPU内存、公网带宽和系统盘详细配置报价单&#xff0c;大家也可以直接移步到阿里云CLUB中心查看 aliyun.club 当前最新…

macOS Sonoma如何查看隐藏文件

在使用Git进行项目版本控制时&#xff0c;我们可能会遇到一些隐藏文件&#xff0c;比如.gitkeep文件。它通常出现在Git项目的子目录中&#xff0c;主要作用是确保空目录也可以被跟踪。 终端命令 在尝试查看.gitkeep文件时&#xff0c;使用Terminal命令来显示隐藏文件 default…

STM32/GD32的以太网DMA描述符

继续梳理以太网的DMA描述符。 以太网DAM描述符的结构 有两种结构&#xff0c;链式结构和环形结构。 常用的是链式结构。 标准库中&#xff0c;关于DMA描述符的数据结构 以gd32f4xx_enet.c为例。 先说发送描述符。 系统分配了5个发送描述符。每个描述符对应的缓冲区大小为152…

【黑马头条】-day04自媒体文章审核-阿里云接口-敏感词分析DFA-图像识别OCR-异步调用MQ

文章目录 day4学习内容自媒体文章自动审核今日内容 1 自媒体文章自动审核1.1 审核流程1.2 内容安全第三方接口1.3 引入阿里云内容安全接口1.3.1 添加依赖1.3.2 导入aliyun模块1.3.3 注入Bean测试 2 app端文章保存接口2.1 表结构说明2.2 分布式id2.2.1 分布式id-技术选型2.2.2 雪…