CSS 选择器以及CSS常用属性
目录
🐇今日良言:可以不光芒万丈,但不要停止发光
🐯一、写CSS的三种方法
🐯二、CSS选择器的常见用法
🐯三、CSS常用属性
🐇今日良言:可以不光芒万丈,但不要停止发光
🐯一、写CSS的三种方法
CSS的基本语法: 选择器+若干声明
先来看一段简单的CSS代码:

查看一下页面效果:

style标签里面的p 就表示选中外面的所有p标签,然后对其进行样式设置.
{ } 里面的CSS属性,可以写一个或者多个,每个属性都是一个键值对.
键和值之间使用 : 分割
键值对之间使用 ; 分割
每个键值对可以独占一行,也可以不独占一行.
有三种写CSS的方式:
1.内部样式
使用style标签,直接把CSS 写到 html 文件中.
此时的style 标签可以放到任何位置,一般建议放到head标签里面.
例如:上面举例的就是内部样式:
2.内联样式
使用style属性,针对指定的元素设置样式(此时不需要写选择器,直接写属性键值对)
此时样式只针对当前元素生效.
3.外部样式
把CSS代码单独作为一个.css文件,再通过link属性(一般放在head标签的内容中),使用href属性指定.css文件位置,就可以让html引入该CSS文件.
hello.css 文件
html中引入
实际使用中,一般都是使用外部样式来写CSS,让HTML和CSS分离开,不相互影响.
🐯二、CSS选择器的常见用法
1.标签选择器
直接在 { 前面写标签名字,此时就意味着会选中当前页面中的所有的指定标签.
2.类选择器
可以创建CSS类,手动指定哪些元素应用这个类.
(这里所说的类,和java面向对象的类无关,这个类就是把一组CSS属性起了个名字,方便别的地方引用)
定义这个类的时候,使用 . 开头
引用这个类的时候,通过 class = "类名" 即可.
一个类,可以被一个元素或者多个元素引用
一个元素可以引用一个或者多个类.
3.ID选择器
html 页面中的每个元素都是可以设置唯一的 id 的,作为元素的身份标识.
给元素安排 id 之后,就可以通过id来选中对应的元素了.
id选择器,只能针对唯一的元素生效,因为一个界面里,只能有一个唯一的 id .
上面的三个选择器都属于简单的选择器.
除上面三个外,CSS还支持一些更复杂一点的"复合选择器"(把前面的基础选择器组合一下)
4.后代选择器
把多个选择器组合一下(可以是标签 类 id 选择器的任意组合)
注意后代选择器的写法.
CSS代码的含义就是:
先找界面里引用了 one 类的元素,然后在这个元素里面再找所有的 li 元素.
注: li 只要是 ul 的后代即可,不一定非得是"子元素"
5.子选择器
只是找匹配的"子元素",不找孙子元素之类的
注意子代选择器的写法
CSS 代码的含义就是:
先找到引用了 one 类的元素,然后在这个元素的子元素中找 li ,div 也是ul的子元素,但是不是 li ,所以不用管div 里面的 li.
6.并集选择器
7.伪类选择器
伪类选择器是复合选择器的特殊用法.
前面的选择器是选中某个元素,
伪类选择器是选中某个元素的某个特定状态
:hover 鼠标悬停的时候的状态
:active 鼠标按下的时候的状态
此时,将鼠标悬停放到第一行的字体上,会发现字体变红
将鼠标放到第二行字体上,然后点击鼠标,就会发现字体变蓝,一直按住鼠标就一直是蓝色,松开以后就恢复原来的颜色.
以上就是 CSS 常用的7个选择器的常见用法
🐯三、CSS常用属性
接下来,介绍一下CSS的常用属性,也就是具体的样式的设置了.
1.字体属性
1)设置字体家族
font-family 表示当前使用哪种字体来显示
这个属性指定的字体,必须要求是系统已经安装了的.
如果要指定一些特殊的字体(系统上没有),就不能正确显示.
这种情况一般是需要通过浏览器请求对应的服务器,获取到指定字体文件,才能设置.
2).设置字体大小.
font-size
3).字体粗细
font-weight
实际设置值的时候,有两种风格:
使用单词.
使用数字.
4)文字倾斜
font-style
2.文本属性
1)文字颜色
color
rgb 表示三原色: red 红 green 绿 blue 蓝
前端中,给 rgb 各分配一个字节,每个字节的范围: 0-255 或者 00-FF
颜色也可以直接使用单词来表示.
使用16进制表示:
可以对上述进行缩写:
如果两个十六进制数字都相同,那么就可以把6个十六进制缩写成3个十六进制.
AABBCC ---> ABC
2)文本对齐
文字靠左靠右居中
text-align 属性来设置对齐
3)文本装饰
text-decoration
4)文本缩进
text-indext
em 是一个相对的量,是以文字尺寸为基础来进行设置的.
假设文字大小是40px. 1 em = 40px 2em = 80px 0.5em = 20px
文本缩进的值可以是负数(向左缩进)
5)行高
行高 = 文字高度+行间距
line-height
3.背景
1)背景颜色
background-color
2)背景图片
background-image:url(图片路径)
默认情况下,引入的背景图片是平铺的,如果不想平铺,使用background-repeat:no-repeat
禁止平铺以后,想要让图片居中,使用:background-position:center center; 水平和垂直方向都居中
当然,center可以更换其它值.
3)背景尺寸
background-size:
contain 让这张图尽可能大
cover 让这张图尽可能延伸
4设置圆角矩形
html 的元素默认都是矩形,想要表示"圆角矩形"使用:border-radius:
后面的数值的意思是以多少为半径的内切圆
5.元素的显示模式
任何一个html 标签里的显示模式(块级/行内)都是可以设置的.
display
display:block 设置成块级元素
display:inline 设置成行内元素
块级元素比较正常(宽度高度等属性都好设置),行内元素不太正常(高度宽度等属性设置无效),
所以一般需要的话,都是把行内元素转化成块级元素.
6.CSS 盒模型
描述了html元素基本的布局规则.
任何一个html元素都是一个矩形的盒子.
这个盒子由这几部分组成:
边框:border
内容:centent
内边距:padding
外边距:margin
以房屋为例来加深理解:每间房子视为是一个html元素
可以在界面右键->检查 查看盒子模型
1)边框
设置边框要设置三个方面:,分别是边框的:粗细 颜色 风格(虚线 实线.....)
设置边框会默认撑大盒子.这里设置的div元素的高度是40px 宽度是200px,但是当检查发现并不是.
想要的应该是 200 x 40 但是加上边框是 209.6 x 49.6,盒子被撑大以后,可能会影响到该元素和其他元素的相对位置,所以说,应该加入边框不让撑大盒子.使用:
box-sizing:border-box;
设置了该属性以后,边框就不会撑大盒子.
2)内边距
padding:
当加上内边距以后
观察里面的div元素的盒子模型:
会发现四个方向的内边距都是20px
padding: 20px 四个方向都是20px
padding: 10px 20px; 上下是10px 左右是20px
padding: 10px 20px 30px 40px; 上右下左(顺时针):10 20 30 40
![]()
3)外边距
margin
加入外边距后:
观察第一个div的盒子模型
会发现四个方向的外边距都是40
margin的用法和padding差不多.
margin 20px 四个方向都是20px
margin: 10px 20px; 上下是10px 左右是20px
margin: 10px 20px 30px 40px; 上右下左(顺时针):10 20 30 40
margin的特殊用法:
把margin-left 和 margin-right 设置为 auto(让浏览器自动调节) 此时该元素就能在父元素内部居中放置.
7.弹性布局
弹性布局用来实现页面布局的
本质上就是控制某个元素放到指定的位置上.
对想要进行水平方向排列的元素使用弹性布局.
1)开启弹性布局
行内元素会将代码中的换行当做一个空格,所以上面三个span元素之间会有空格,当去掉换行以后,空格就会消失
接下来,对这三个行内元素设置一些属性;
会发现,设置属性以后无任何变化,此时就需要在父元素中开启弹性布局
此时会发现,设置的属性生效了.
开启弹性布局以后,父元素中的元素就不再是"块级""行内"元素,而是成为了"弹性元素",遵守了弹性布局,可以设置尺寸和边距的.
2).弹性元素的水平方向排列方式
justify-content: space-around; 空白环绕
justify-content: space-between; 让空白只在中间.
3)垂直方向排列方式
align-items:
以上就是CSS的常见属性.
相关文章:
CSS 选择器以及CSS常用属性
目录 🐇今日良言:可以不光芒万丈,但不要停止发光 🐯一、写CSS的三种方法 🐯二、CSS选择器的常见用法 🐯三、CSS常用属性 🐇今日良言:可以不光芒万丈,但不要停止发光 🐯一、写CSS的三种方法 CSS的基本语…...
测试概念及模型
今日目标掌握测试用例包含的基本内容使用等价类方法设计出测试用例1. 软件测试分类(复习)1.1 按阶段划分单元测试测试:针对单个功能进行测试,如:登录、购物车等开发(更多的理解):针对…...
王道计算机组成原理课代表 - 考研计算机 第六章 总线 究极精华总结笔记
本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对 计算机组成 知识点的理解的总结。希望对新一届的计算机考研人提供帮助!!! 关于对 “总线” 章节知识点总结的十分全面,涵括了《计算机组成原理》课程里的…...
【C++升级之路】第八篇:string类
🌟hello,各位读者大大们你们好呀🌟 🍭🍭系列专栏:【C学习与应用】 ✒️✒️本篇内容:简单介绍string类的概念、string类的常用接口、string类的模拟实现(各个常见接口的实现代码&…...
mysql性能优化_原理_课程大纲
1、MySQL在金融互联网行业的企业级安装部署 目录章节版本说明版本说明安装MySQL规范1 安装方式2 安装用户3 目录规范MySQL 5.7 安装部署1 操作系统配置2 创建用户3 创建目录4 安装5 配置文件6 安装依赖包7 配置环境变量8 初始化数据库9 重置密码MySQL8 安装MySQL8 安装源码安装…...
项目管理报告工具的功能
项目报告软件哪个好?Zoho Projects的项目管理报告工具为您提供整个组织的360可见性,获取所有项目的实时更新,使用强大的项目报告软件推动成功。Zoho Projects的项目报告软件允许团队整理和监控他们的资源和项目,以评估进度并避免对…...
centos8上安装hbase
【README】1.本文部分内容转自:https://computingforgeeks.com/how-to-install-apache-hadoop-hbase-on-centos-7/2.本文是在单机上安装hbase (仅用于学习交流); 【1】更新系统因为 hadoop和hbase是动态的,为便于hbase…...
linux 进程及调度基础知识
引用Linux进程管理专题Linux进程管理与调度-之-目录导航Linux下0号进程的前世(init_task进程)今生(idle进程)----Linux进程的管理与调度(五)蜗窝科技-进程管理郭健: Linux进程调度技术的前世今生之“前世”郭健: Linux进程调度技术…...
Python计算分类问题的评价指标(准确率、精确度、召回率和F1值,Kappa指标)
机器学习的分类问题常用评论指标有:准确率、精确度、召回率和F1值,还有kappa指标 。 每次调包去找他们的计算代码很麻烦,所以这里一次性定义一个函数,直接计算所有的评价指标。 每次输入预测值和真实值就可以得到上面的指标值&a…...
51单片机LCD1602的使用
文章目录前言一、LCD1602简单介绍二、LCD1602中各个引脚的作用四、LCD1602命令解析1.写命令2.写数据3.清屏指令4.光标归位指令5.进入模式设置指令6.显示开关控制指令7.设定显示屏或光标移动方向指令三、LCD1602代码编写四、代码测试总结前言 本篇文章将为大家讲解LCD1602的使用…...
[深入理解SSD系列综述 1.5] SSD固态硬盘参数图文解析_选购固态硬盘就像买衣服?
版权声明:付费作品,未经许可,不可转载前言SSD (Solid State Drive),即固态硬盘,通常是一种以半导体闪存(NAND Flash)作为介质的存储设备。SSD 以半导体作为介质存储数据&…...
zio1升级到zio2踩坑和总结
并不全,记录了一些流程和注意点。新项目建议直接用zio2! 首先,从1.0迁移到2.0,可以使用官方的scalefix规则完成一部分方法自动替换(迁移主要解决方法重命名,去掉Has)。 然后,添加依…...
【算法题】1834. 单线程 CPU
插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 坚持不懈,越努力越幸运,大家一起学习鸭~~~ 题目: 给你一个二维数组 tasks ÿ…...
Vue学习[2023]
笔记 一、Vue基础: 1.模板语法有2大类: 插值语法: 功能:用于解析标签体内容。 写法:{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性。 指令语法: 功能:用于…...
【Redis】Redis分片集群
【Redis】Redis分片集群 文章目录【Redis】Redis分片集群1. 搭建分片集群1.1 分片集群结构1.2 搭建分片集群1.2.1 集群结构1.2.2 准备实例和配置1.2.3 启动1.2.4 创建集群1.2.5 测试2. 散列插槽2.1 总结3. 集群伸缩4. 故障转移4.1 数据迁移5. RedisTemplate访问分片集群1. 搭建…...
【Android笔记81】Android之RxJava的介绍及其使用
这篇文章,主要介绍Android之RxJava及其使用。 目录 一、RxJava响应式编程 1.1、RxJava介绍 1.2、RxJava常用方法 (1)引入RxJava依赖...
Pr 定格拍照动画
哈喽,各位小伙伴!今天我们来学习一下如何制作定格拍照动画? 新建序列 新建一个1920*1080的序列,将视频拖入序列中 选择定格画面右键—插入帧定格分段中间部分就会变成一张图片(图片时长可伸缩) 复制素…...
放弃node-sass,启用sass
在下载一个新项目时运行:npm run install 发现报错 npm uninstall 异常 Error: Could not find any Visual Studio installation to use 或是 ------------------------- You need to install the latest version of Visual Studio npm ERR! gyp ERR! find VS incl…...
力扣旋转字符串
🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏: 🍔🍟🌯 c语言初阶 🔑个人信条: 🌵知行合一 🍉本篇简介:>:介绍字符串旋转,左旋,右旋即旋转结果. 金句分享: ✨好好干&…...
Java 代码组织机制
包 使用任何语言进行编程都有一个相同的问题,就是命名冲突。 包类似于计算机中的文件夹,正如文件放在文件夹中,类和接口放在包中,为便于组织,文件夹一般是一个层次结构,包也类似。 包有包名,…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...















































默认情况下,引入的背景图片是平铺的,如果不想平铺,使用background-repeat:no-repeat 






























