03-CSS基础选择器
3.1 CSS基础认知🍎
3.1.1 👁️🗨️CSS概念
CSS:层叠样式表(Cascading style sheets),为网页标签增加样式表现的
语法格式:
选择器{<!-- 属性设置 -->属性名:属性值; <!--每一个键值对属性写完之后都要加 英文 `;`g隔开-->
}
比如:
p{color:red;
}
| CSS常见属性 | 作用 |
| color | 文字颜色 |
| background-color | 背景颜色 |
| background-image | 背景图片 |
| font-size | 字体大小 |
| width | 宽度 |
| height | 高度 |
3.1.2 👣CSS的引入方式
1. 内嵌式
写在style标签,style标签一般在head中,title下面
<style>/* 内嵌式 */p{/*属性设置==》 属性名:属性值 */color: red;/* 文字大小 */font-size: 50px;/* 背景颜色 */background-color: yellow;/* 宽度 高度 *//* width: 60px;height: 600px; */}</style>
<p>你好!世界!</p>
2. 外联式
写在一个单独的.css文件中,通过`link`标签进行导入

<!-- link 标签 导入外联的css样式 --><link rel="stylesheet" href="./css/01-css.css">
<div> 这是div标签-演示外联式CSS </div>
3. 内联式
直接写在标签的style属性中
<!-- 内联式:直接写在标签里面 -->
<span style="color: springgreen; font-size: 90px;" >这是span标签-用来演示内联式</span>
3.2 基本选择器🌶️
3.2.1 🏀标签选择器
通过标签名去控制对应标签的样式
标签选择器是一次性控制整个页面对应的标签
语法:
标签名{属性:属性值
}
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>p{color: red;font-size: 20px;}</style>
</head>
<body><!-- 演示标签选择器 --><p>这是span标签-用来演示标签选择器</p><p>p1 </p><p>p2 </p><p> p3</p><p> p4</p><div><ol><li><p>这是嵌套的p标签</p></li></ol></div>
</body>
3.2.2 🎉类选择器
通过类名,找到页面中所有带有这个类名的标签,设置样式
class="类名"
语法:
.类名{属性:值
}
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 类选择器 .类名 */.xzq03{color: aqua;font-size: 30px;}.p03{background-color: red;}</style>
</head>
<body><p> 这是第一个p标签</p><p class="xzq03"> 这是第二个p标签,有类名的p标签</p><!-- 多个类名 --><p class="xzq03 p03"> 这是第三个p标签,有类名的p标签</p><span class="xzq03 span03">这是span标签</span><div class="xzq03">这是div标签</div>
</body>
注意点:
- 所有标签上都有class属性,class属性的属性值称为类名(类似于名字)
- 类名可以由数字、字母、下划线、中划线组成,但不能以数字或者中划线开头
- 一个标签可以同时有多个类名,类名之间以空格隔开
- 类名可以重复,一个类选择器可以同时选中多个标签
3.2.3 🎿id选择器
通过id属性值,找到页面中带有这个id属性值的标签,设置样式
语法:
#id名{属性:值
}
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>#ix{font-size: 40px;}#sx{background-color: red;}</style>
</head>
<body><p id="ix sx">这是p标签-测试id选择器</p><p id="ix">这是p标签-测试id选择器</p><span id="ix">这是span标签</span><div id="ix">这是div</div>
</body>
3.2.4 🔮通配符选择器
以通配符“*”直接选择设置整个页面的标签
语法:
*{属性:值
}
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>*{color: red;font-size: 40px;}</style>
</head>
<body><p>111</p><p>222</p><span>这是span</span><div>这是div</div>
</body>
3.3 CSS样式层叠🍖
一个标签有多个相同的属性,比如:设置两个 color,最后就会覆盖第一个,一最后的样式为准
<!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{/* 后面的属性会覆盖掉前面的属性 */font-size: 60px;font-size: 20px;color: red;color: violet;}</style>
</head>
<body><p>这是p标签</p>
</body>
</html>
3.4 字体和文本的基础样式🍊
3.4.1 🎯字体样式
- 字体大小:`font-size`
格式:
font-size:数值+px
- 要跟px单位,不跟没有效果
- 字体粗细、倾斜:`font-weight`、`font-style`
<!DOCTYPE html>
<html lang="en">
<head><style>p{color: red;/* 字体加粗 */font-weight: bold;}div{font-weight: 900;font-style: oblique;}span{font-weight: 100;font-style: italic;}</style>
</head>
<body><p>这是p标签</p><div>这是div标签</div><span>这是span</span>
</body>
</html>
- 主体加粗
关键字:
- 正常:normal
- 加粗:bold
数值:
- 100~900 (9个级别,依次递增)
- 正常:400
- 加粗:700
- 字体倾斜
- 正常:normal(默认值)
- 倾斜:italic
- 字体选择:`font-family`
<!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{/* font-family:微软雅黑,黑体,宋体; */font-family:Georgia, 'Times New Roman', Times, serif;}</style>
</head>
<body><p>这是一个p标签</p><div>这是div</div>
</body>
</html>
常见取值:具体字体1,具体字体2,具体字体3,具体字体4,...,
- 具体字体:"Microsoft YaHei"、微软雅黑、黑体、宋体等……
- 字体系列:sans-serif、serif、monospace等……
注意:
- 从左往右按照顺序查找
- 如果字体名称中存在多个单词,推荐使用引号包裹最后一项
- 尽量使用系统常见自带字体
- font连写
直接将字体系列的 font...属性写在一起
<!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{/* font-size: 40px;font-weight: 900;font-style: italic; *//* font 连写 *//* font : style weight size family;连写的顺序 *//* font连写:- 按照顺序写- 只能省略前两个属性(style、weight)*/font: italic 900 90px 黑体 ;/* font: 900px 宋体; */}</style>
</head>
<body><p>这是p标签</p>
</body>
</html>
注意:
- font连写时按照顺序写:`font : style weight size family;`
- font连写可以省略前2个属性(style、weight)
3.4.2 🏓文本样式
- 首先缩进:`text-indent`
- 可以跟 数值px
- 可以指定字:em(一个em 表示一个字大小)
- 对齐方式:`text-align`
- 居中:center
- 右对齐:right
- 左对齐:left
- 文本修饰:`text-decoration`
- underline:下划线
- line-through:删除线
- overline:上划线
- none:去掉所有文本修饰
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>文本样式</title><style>p{/* 首先缩进:text-indentpx:像素值*//* text-indent: 40px; */text-indent: 2em;/*em:一个字*//* 对齐:居中:center 右对齐:right左对齐:left*/text-align: left;/* 文本修饰:text-decorationunderline:下划线line-through:删除线overline:上划线none:去掉所有文本修饰*/text-decoration: underline;}div{text-decoration:line-through;}span{text-decoration: overline;}.p1{text-decoration: none;}</style>
</head><body><p class="p1">前端开发是创建WEB页面或APP等前端界面呈现给用户的过程,通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互 。</p><p>前端开发从网页制作演变而来,名称上有很明显的时代特征。在互联网的演化进程中,网页制作是Web1.0时代的产物,早期网站主要内容都是静态,以图片和文字为主,用户使用网站的行为也以浏览为主。随着互联网技术的发展和HTML5、CSS3的应用,现代网页更加美观,交互效果显著,功能更加强大。</p><div>这是div标签</div><br><span>这是span</span>
</body></html>
3.4.3 🎗️行高
每一行字体所占的高度(`line-height`)
行高取值:
- 数值+px
- em(一个em就表示一个字的大小)
- font-size的倍数(一般情况下,浏览器默认字体大小是 16px)
可以font连写:font : style weight size/line-height family ;
<!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{/* line-height: 30px; *//* line-height: 3em; */line-height: 4;/*谷歌默认16px */} </style>
</head>
<body><p>前端开发从网页制作演变而来,名称上有很明显的时代特征。在互联网的演化进程中,网页制作是Web1.0时代的产物,早期网站主要内容都是静态,以图片和文字为主,用户使用网站的行为也以浏览为主。随着互联网技术的发展和HTML5、CSS3的应用,现代网页更加美观,交互效果显著,功能更加强大。</p>
</body>
</html>相关文章:
03-CSS基础选择器
3.1 CSS基础认知🍎 3.1.1 👁️🗨️CSS概念 CSS:层叠样式表(Cascading style sheets),为网页标签增加样式表现的 语法格式: 选择器{<!-- 属性设置 -->属性名:属性值; <!--每一个…...
【ROS】RViz2源码分析(二):main函数及编译配置详解
【ROS】郭老二博文之:ROS目录 1、main函数 #include <memory> #include <string> #include <vector>#include <QApplication>...
Vue.js的生命周期钩子
聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…...
第3章:搜索与图论【AcWing】
文章目录 图的概念图的概念图的分类有向图和无向图 连通性连通块重边和自环稠密图和稀疏图参考资料 图的存储方式邻接表代码 邻接矩阵 DFS全排列问题题目描述思路回溯标记剪枝代码时间复杂度 [N 皇后问题](https://www.luogu.com.cn/problem/P1219)题目描述全排列思路 O ( n ! …...
C++ Qt 学习(七):Qt 线程与并发
1. Qt 创建线程的三种方法 1.1 方式一:派生于 QThread 派生于 QThread,这是 Qt 创建线程最常用的方法,重写虚函数 void QThread::run(),在 run() 写具体的内容,外部通过 start 调用,即可执行线程体 run() …...
Django框架之模板层
【一】Django模板系统 官方文档:官方文档 【二】常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{逻辑相关的用{%%}。 【三】变量 在Django的模板语言中按此语法使用: {{ 变量名 }}。 当模版引擎遇到一个变量,它…...
【AI视野·今日Robot 机器人论文速览 第六十五期】Mon, 30 Oct 2023
AI视野今日CS.Robotics 机器人学论文速览 Mon, 30 Oct 2023 Totally 18 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Gen2Sim: Scaling up Robot Learning in Simulation with Generative Models Authors Pushkal Katara, Zhou Xian, Katerina F…...
LuatOS-SOC接口文档(air780E)--otp - OTP操作库
otp.read(zone, offset, len)# 读取指定OTP区域读取数据 参数 传入值类型 解释 int 区域, 通常为0/1/2/3, 与具体硬件相关 int 偏移量 int 读取长度, 单位字节, 必须是4的倍数, 不能超过4096字节 返回值 返回值类型 解释 string 成功返回字符串, 否则返回nil 例…...
为什么LDO一般不用在大电流场景?
首先了解一下LDO是什么? LDO(low dropout regulator,低压差线性稳压器)或者低压降稳压器,它的典型特性就是压降。 那么什么是压降? 压降电压 VDO 是指为实现正常稳压,输入电压 VIN 必须高出 所…...
Adobe家里的“3D“建模工 | Dimension
今天,我们来谈谈一款在Adobe系列中比肩C4D的高级3D软件的存在—— Dimension。 Adobe Dimension ,其定位是一款与Photoshop以及Illustrator相搭配的3D绘图软件。 Adobe Dimensions与一般的3D绘图软件相较之下,在操作界面在功能上有点不大相同…...
MIB 6.1810实验Xv6 and Unix utilities(2)sleep
难度:easy Implement a user-level sleep program for xv6, along the lines of the UNIX sleep command. Your sleep should pause for a user-specified number of ticks. A tick is a notion of time defined by the xv6 kernel, namely the time between two interrupts f…...
修改 jar 包中的源码方式
在我们开发的过程中,我们有时候想要修改jar中的代码,方便我们调试或或者作为生产代码打包上线,但是在IDEA中,jar包中的文件都是read-only(只读模式)。那如何我们才能去修改jar包中的源码呢? 1.…...
Linux命令--重启系统的方法
原文网址:Linux命令--重启系统的方法_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Linux重启系统的方法。 普通重启 reboot reboot的工作过程跟下边的halt差不多,不过它是引发主机重启,而halt是关机。它的参数与halt相差不多。 shutdown …...
操作系统 day10(调度的概念、层次、七状态模型)
调度的概念 调度的层次 作业调度(高级调度) 进程调度(低级调度) 内存调度(中级调度) 挂起态与七状态模型 三层调度的联系和对比...
MIB 6.1810操作系统实验:准备工作(Tools Used in 6.1810)
6.1810 / Fall 2023 实验环境: Ubuntuxv6实验必要的依赖环境能通过make qemu进入系统 $ sudo apt-get update && sudo apt-get upgrade $ sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-ri…...
快速弄懂C++中的深拷贝和浅拷贝
浅拷贝 浅拷贝就是单纯拷贝指向该对象的内存,所以在进行多次浅拷贝后只是相当于多了几个指向同一个对象的指针,而深拷贝相当于完全复制了一个对象副本。浅拷贝指的是复制对象的所有成员变量的值,不管这些值是指针、基本数据类型还是其他对象…...
AWD比赛中的一些防护思路技巧
## 思路1: 1、改服务器密码 (1)linux:passwd (2)如果是root删除可登录用户:cat /etc/passwd | grep bash userdel -r 用户名 (3)mysql:update mysql.user set…...
【C++面向对象】14. 命名空间
文章目录 【 1. 命名空间的定义 】【 2. using 指令 】2.1 using 指定命名空间的全部2.2 using 指定命名空间的部分 【 3. 不连续的命名空间 】【 4. 嵌套的命名空间 】 问题的背景:假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了…...
asp.net实验管理系统VS开发sqlserver数据库web结构c#编程web网页设计
一、源码特点 asp.net 实验管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言开发。 asp.net实验管理系统1 应用技术&am…...
基于SSM+Vue的健身房管理系统
基于SSMVue的健身房管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringMyBatisSpringMVC工具:IDEA/Ecilpse、Navicat、Maven 系统展示 主页 课程信息 健身器材 管理员界面 用户界面 摘要 健身房管理系统是一种利用现…...
在QT中将多个项目(同代码不同ui和资源文件)合并
Linux下的qt环境 我现在有三个项目,代码一模一样,只有UI文件和资源文件不同现在想要合并代码 后期好上传在git 仅需要一个分支 更好管理将随行 康养 采图三个项目代码合并 思路是这样的 将每个项目都分类打包区分开我是在康养这个项目的基础上合…...
对 OS:TEP 的 MLFQ 策略的一点思考
1.SJF 调度算法SJF 没啥好说的, 书上讲的很清楚了, SJF 就是最短任务优先原则, 其设计初衷是想解决 FIFO 的糟糕的周转时间的问题.但是, 正如书上所说, 这玩意主打一个秩序井然, 只能处理所有任务同时到队列的情况, 要是某堆进程不按这套路出牌, 那 SJF 立马完蛋, 书上就有一个…...
Inconsolata字体高效使用实战指南:提升编程体验的专业字体方案
Inconsolata字体高效使用实战指南:提升编程体验的专业字体方案 【免费下载链接】Inconsolata Development repo of Inconsolata Fonts by Raph Levien 项目地址: https://gitcode.com/gh_mirrors/in/Inconsolata 作为开发者,我们每天与代码打交道…...
AMD Ryzen系统管理单元深度调试:SMUDebugTool技术解析与实战指南
AMD Ryzen系统管理单元深度调试:SMUDebugTool技术解析与实战指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: …...
Flutter状态管理实战:ChangeNotifier与Provider的完美搭配(附完整代码)
Flutter状态管理实战:ChangeNotifier与Provider的完美搭配 在Flutter开发中,状态管理一直是构建复杂应用的核心挑战。当UI需要根据数据变化动态更新时,如何高效、优雅地管理状态流转,直接决定了应用的性能和可维护性。本文将深入…...
ThinkPHP6(TP6)控制器404问题排查与Nginx伪静态配置指南
1. 为什么你的TP6控制器总是404? 最近帮朋友排查一个ThinkPHP6项目,明明控制器写得没问题,路由也配置了,但一访问就蹦出个404页面。这种问题在新手部署TP6时特别常见,尤其是用Nginx服务器的环境。我自己第一次用TP6时也…...
3步搞定B站4K视频下载:开源工具bilibili-downloader终极指南
3步搞定B站4K视频下载:开源工具bilibili-downloader终极指南 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 想要免费下载…...
AI运维管理与安全防护设备功率MOSFET选型方案——高效、可靠与智能驱动系统设计指南
随着智能化运维与主动安全防护需求的爆发式增长,AI边缘计算节点、智能传感器与安全执行单元已成为现代基础设施管理的核心。其电源管理与信号驱动系统作为设备可靠运行与实时响应的基石,直接决定了系统的能效、稳定性及防护等级。功率MOSFET作为该系统中…...
Intv_AI_MK11跨平台开发体验:在Windows WSL2中无缝使用GPU进行模型调试
Intv_AI_MK11跨平台开发体验:在Windows WSL2中无缝使用GPU进行模型调试 1. 为什么选择WSL2进行AI开发 对于习惯Windows系统的开发者来说,直接使用Linux环境进行AI模型开发往往面临诸多不便。WSL2(Windows Subsystem for Linux 2)…...
BiliBiliCCSubtitle:高效解决B站字幕处理难题全攻略
BiliBiliCCSubtitle:高效解决B站字幕处理难题全攻略 【免费下载链接】BiliBiliCCSubtitle 一个用于下载B站(哔哩哔哩)CC字幕及转换的工具; 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle 一、问题篇:字幕处理的真实困境与技术…...
