【前端基础】CSS介绍|CSS选择器|常用CSS

news2025/1/19 17:14:59

目录

一、CSS介绍

1.1 什么是CSS

1.2 基本语法规范

1.3 引⼊⽅式

1.4 规范

💡二、CSS选择器

 1. 标签选择器

2. class选择器

3. id选择器

4. 复合选择器

5. 通配符选择器

三、常用CSS

3.1 color

3.2 font-size

3.3 border

3.4 width/height

3.5 padding

3.6 外边距


💡推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击跳转到网站】


一、CSS介绍

1.1 什么是CSS

CSS(Cascading Style Sheet),层叠样式表,⽤于控制⻚⾯的样式.

CSS能够对⽹⻚中元素位置的排版进⾏像素级精确控制,实现美化⻚⾯的效果.能够做到⻚⾯的样式和结构分离.(样式,布局,排版

简单理解:CSS理解为为"东⽅四⼤邪术"之化妆术,对⻚⾯的展⽰进⾏"化妆"

CSS前->CSS修饰后:


1.2 基本语法规范

选择器+{⼀条/N条声明}

•选择器决定针对谁修改(找谁)

• 声明决定修改啥.(⼲啥)

• 声明的属性是键值对  使⽤;区分键值对,使⽤:区分键和值

<style>
    p {
        /* 设置字体颜⾊ */
        color: red;
        /* 设置字体⼤⼩ */
        font-size: 30px;
      }
</style>

<p>hello</p>

注意:

• CSS要写到style标签中(后⾯还会介绍其他写法)

• style标签可以放到⻚⾯任意位置 ⼀般放到head标签内.

• CSS使⽤/* */作为注释.(使⽤ctrl+/快速切换)


1.3 引⼊⽅式

CSS有3种引⼊⽅式,语法如下表格所⽰:
3种引⼊⽅式对⽐:

引⼊⽅式语法描述⽰例
⾏内样式在标签内使⽤style属性,属性值是css属性键值对<div style="color:green">绿⾊</div>
内部样式定义<style>标签,在标签内部定义css样式<style>h1{...}</style>
外部样式定义<link>标签,通过href属性引⼊外部css⽂件<linkrel="stylesheet"href="[CSS⽂件路径]">

1. ⾏内样式,只适合于写简单样式.只针对某个标签⽣效.缺点是不能写太复杂的样式.

2. 内部样式会出现⼤量的代码冗余,不⽅便后期的维护,所以不常⽤.

3. 外部样式,html和css实现了完全的分离,企业开发常⽤⽅式


1.4 规范

样式⼤⼩写

虽然CSS不区分⼤⼩写,我们开发时统⼀使⽤⼩写字⺟

空格规范

• 冒号后⾯带空格

• 选择器和{之间也有⼀个空格


💡二、CSS选择器

CSS选择器的主要功能就是选中⻚⾯指定的标签元素.选中了元素,才可以设置元素的属性.

|就好⽐SC2,War3这样的游戏,需要先选中单位,再指挥该单位⾏动

CSS选择器主要分以下⼏种:

1. 标签选择器

2. class选择器

3. id选择器

4. 复合选择器

5. 通配符选择器

 我们以下面代码来学习CSS选择器的使用

<div class="font32">我是⼀个div, class为font32</div>
<div class="font32">我是⼀个div, class为font32</div>
<div><a href="#">我是⼀个div</a></div>
<ul>
    <li>aaa</li>
    <li>bbb</li>
    <li><a href="#">ccc</a></li>
</ul>
<ol>
    <li>1111</li>
    <li>2222</li>
    <li>3333</li>
</ol>
<button id="submit">提交</button>

运行结果: 

 1. 标签选择器

(1)选择所有的a标签, 设置颜⾊为红⾊

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        a {
            color: red;
        }
    </style>
</head>

运行结果: 

(2)选择所有的div标签, 设置颜⾊为绿⾊

/* 选择所有的div标签, 设置颜⾊为绿⾊ */
div {
    color: green;
}

问题:为什么第三个”我是一个div”不显示?

答:因为div标签内部还有a标签,所以不会显示

2. class选择器

选择class为font32的元素, 设置字体⼤⼩为32px:

.font32 {
            font-size: 32px;
        }


⼀个类可以被多个标签使⽤,⼀个标签也能使⽤多个类(多个类名要使⽤空格分割,这种做法可以让代码更好复⽤)

3. id选择器

选择id为submit的元素, 设置颜⾊为红⾊

#submit {
            color: red;
        }

id是唯⼀的,不能被多个标签使⽤(是和类选择器最⼤的区别)

4. 复合选择器

只设置 ul标签下的 li标签下的 a标签, 颜⾊为红⾊

ul li a {
    color: blue;
}

(1)以上三个标签选择器 ul li a 中的任意,都可以替换成类选择器,或者id选择器,可以是任意选择器的组合,也可以是任意数量选择器的组合

(2)不⼀定是相邻的标签,也可以是"孙⼦"标签,但是ul>a这样,加了>就一定的是相邻标签

(3)如果需要选择多种标签,可以使⽤ , 分割,如 p, div { } 表⽰同时选中p标签和div标签 逗号前后可以是以上任意选择器,也可以是选择器的组合

5. 通配符选择器

设置⻚⾯所有元素, 颜⾊为红⾊

* {
    color: red;
}


三、常用CSS

接下来学习⼀些常⻅的css样式

准备如下html

<div class="text1">我是⽂本1</div>

3.1 color

color:设置字体颜⾊

.text1 {
    color: red;
}

颜⾊有如下⼏种表达⽅式:

• 英⽂单词,如red,blue

• rgb代码的颜⾊如rgb(255,0,0)

• ⼗六进制的颜⾊如#ff00ff

3.2 font-size

font-size:设置字体⼤⼩

.text1{
    font-size: 32px;
}

3.3 border

border:边框

边框是⼀个复合属性,可以同时设置多个样式,不分前后顺序,浏览器会根据设置的值⾃动判断

.text1{
    border: 1px solid purple;
}

以上border属性的对应设置的维度分别为边框粗细,边框样式,边框颜⾊

也可以拆开来设置

样式说明取值
border-width设置边框粗细数值
border-style设置边框样式

• dotted:点状

• solid:实状

• double:双状

• dashed:虚状

border-color设置边框颜色同color

border: 1px solid purple; 就等同于以下代码:

.text1 {
    /* border: 1px purple solid; */
    border-width: 1px;
    border-style: solid;
    border-color: purple;
}

3.4 width/height

width:设置宽度

height:设置⾼度

只有块级元素可以设置宽⾼

块级元素是HTML标签的⼀种显⽰模式,对应的还有⾏内元素

常⻅块级元素:h1-h,p,div

等常⻅⾏内元素:a,span

块级元素独占⼀⾏,可以设置宽⾼

⾏内元素不独占⼀⾏,不能设置宽⾼

改变显⽰模式

使⽤display属性可以修改元素的显⽰模式

display: block 改成块级元素[常⽤]

• display: inline 改成⾏内元素[很少⽤]

.test1 {
    width: 200px;
    height: 100px;
}

3.5 padding

padding:内边距,设置内容和边框之间的距离.

内容默认是顶着边框来放置的.⽤padding来控制这个距离

形象一点的图:

 

.text1 {
    padding: 20px;
}

padding也是⼀个复合样式,可以对四个⽅向分开设置

• padding-top

• padding-bottom

• padding-left

• padding-right

3.6 外边距

margin:外边距,设置元素和元素之间的距离

.text1 {
        margin: 20px;
        }

margin也是⼀个复合样式,可以给四个⽅向都加上外边距

• margin-top

• margin-bottom

• margin-left

• margin-right

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

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

相关文章

C51单片机 串口打印printf重定向

uart.c文件 #include "uart.h"void UartInit(void) //4800bps11.0592MHz {PCON | 0x80; //使能波特率倍速位SMODSCON 0x50; //8位数据,可变波特率。使能接收TMOD & 0x0F; //清除定时器1模式位TMOD | 0x20; //设定定时器1为8位自动重装方式TL1 0xF4; //设…

BUG解决: Zotero 文献GBT7714无法正常调用

1. 下载csl文件 网上有推荐直接下载现成版本的&#xff0c;比如参考资料【1】的蓝奏云文件&#xff0c;但是还是无法实现功能&#xff08;空文档中可以用了&#xff09;。 2. Github版本 也有说网盘版本和那个 Juris-M 的 CSL bug 太多的。 总结 后面发现&#xff0c;只需…

【生产排查】解决 Kettle 没有运行日志的问题

文章目录 背景排查解决第 1 步:修改 kettle-service.conf,添加日志配置第 2 步:使用最新配置文件重启 kettle第 3 步:验证日志配置是否生效背景 🚀 项目使用 Kettle 作为 ETL 工具,从外部系统中抽取数据、转换数据、并最终加载到本项目的数据库中。 😂 存在的问题:据…

JVM学习-详解类加载器(二)

双亲委派机制 双亲委派优势 避免类的重复加载&#xff0c;确保一个类的全局唯一性 Java类随着它的类加载器一起具备了一种带有优先级的层次关系&#xff0c;通过这种层次关系可以避免类的重复加载&#xff0c;当父类已经加载了该类&#xff0c;就没有必要子ClassLoader再加载…

ai辅助教育孩子

孩子经常躺在床上看手机是一个需要关注的问题&#xff0c;因为这不仅可能影响他们的视力健康&#xff0c;还可能影响睡眠质量和身体健康。以下是一些建议&#xff0c;帮助应对这一问题&#xff1a; 设定明确的规定&#xff1a; 与孩子一起制定使用手机的规则&#xff0c;如每天…

nginx c++模块编译

不论是c还是c&#xff0c;nginx的第三方模块编写没什么太区别&#xff0c;但是提供给nginx调用的&#xff0c;必须是纯c的接口。 先说下为什么不能使用c编译nginx&#xff0c;nginx是纯c写的&#xff0c;而且c是兼容c的&#xff0c;但是用c(g)编译nginx的框架&#xff0c;就会出…

呆滞物料规范管理了,问题就好办了

对于制造企业来说&#xff0c;库存是生存和发展的重要保障&#xff0c;过高的库存会占用企业大量的资金和管理成本&#xff0c;影响企业的正常生产&#xff0c;然而多数中小制造企业还在用人工干预管理&#xff0c;如何控制呆滞物料成为仓储管理的一大难题。 什么是呆滞料&…

【JAVASE】日期与时间类(下)

三&#xff1a;LocalDateTime 相当于LocalDate类&#xff0c;在LocalDateTime类的对象中还可以封装时、分、秒和纳秒&#xff08;1纳秒是1秒的十亿分之一&#xff09;等时间类型。 例如&#xff0c;创建LocalDateTime对象 &#xff0c; LocalDateTime date LocalDateTi…

【Docker】上海交通大学开源镜像站服务变更:Docker 用户需迅速行动

近日&#xff0c;上海交通大学开源镜像站宣布了一个重大变更&#xff0c;对国内Docker用户来说&#xff0c;这一消息无疑具有紧迫性。 镜像站服务的变更 上海交通大学开源镜像站一直是国内Docker用户的重要资源&#xff0c;它提供了快速下载DockerHub仓库镜像的服务。然而&a…

LiDAR360MLS 7.2.0 雷达点云数据处理软件功能介绍

新增模块和功能: 支持手持、背包数据的解算 SLAM解算成功率提升 SLAM解算效率提升 采集端与后处理端保持一致 赋色优化 新增平面图模块 新增平面图全自动矢量化功能 新增平面图矢量一键导出DXF功能 新增平面图正射影像一键导出功能 支持交叉、垂直绘制 支…

如何安装 CleanMyMac X 4.15.3破解版

CleanMyMac X 4.15.3破解版是一款专业的Mac系统清理软件&#xff0c;可一键智能扫描清理mac系统日志缓存磁盘垃圾和多余语言安装包&#xff0c;快速释放电脑内存&#xff0c;轻松管理和升级Mac上的应用。同时CleanMyMac X 破解版可以强力卸载恶意软件&#xff0c;修复系统漏洞&…

数据挖掘--聚类分析:基本概念和方法

数据挖掘--引论 数据挖掘--认识数据 数据挖掘--数据预处理 数据挖掘--数据仓库与联机分析处理 数据挖掘--挖掘频繁模式、关联和相关性&#xff1a;基本概念和方法 数据挖掘--分类 数据挖掘--聚类分析&#xff1a;基本概念和方法 聚类分析 聚类分析是把一个数据对象&…

Java基础——数组Array

系列文章目录 文章目录 系列文章目录前言一、数组基本概念二、一维数组三、数组的模型四、数组对象的创建五、元素为引用数据类型的数组 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网…

基于协同注意力的视觉-语言嵌入用于机器人手术视觉问题定位回答

文章目录 CAT-ViL: Co-attention Gated Vision-Language Embedding for Visual Question Localized-Answering in Robotic Surgery摘要方法实验结果 CAT-ViL: Co-attention Gated Vision-Language Embedding for Visual Question Localized-Answering in Robotic Surgery 摘要…

如何搭建跨境电商独立站||搭建跨境电商独立站必须具备的功能板块设计

在搭建跨境电商独立站时&#xff0c;需要确保网站具备一系列关键的功能板块&#xff0c;以提供用户友好的购物体验并确保业务的顺利进行。以下是这些功能板块的详细归纳&#xff1a; 注册登录与身份验证&#xff1a; 用户注册与登录&#xff1a;允许用户创建账户&#xff0c;通…

探索C++ STL中的std::list:链式存储的艺术与实践

目录 ​编辑 引言 一、std::list详解 二、std::list的关键成员函数 三、示例代码 四、std::list与std::vector的对比 内存布局&#xff1a; 插入与删除&#xff1a; 迭代器稳定性&#xff1a; 五、应用场景 结语 引言 在C标准模板库(STL)中&#xff0c;std::list作…

redis学习路线

待更新… 一、nosql讲解 1. 为什么要用nosql&#xff1f; 用户的个人信息&#xff0c;社交网络&#xff0c;地理位置&#xff0c;自己产生的数据&#xff0c;日志等等爆发式增长&#xff01;传统的关系型数据库已无法满足这些数据处理的要求&#xff0c;这时我们就需要使用N…

python-自幂数判断

[题目描述]&#xff1a; 自幂数是指&#xff0c;一个N 位数&#xff0c;满足各位数字N 次方之和是本身。例如&#xff0c;153153 是 33 位数&#xff0c;其每位数的 33 次方之和&#xff0c;135333153135333153&#xff0c;因此 153153 是自幂数&#xff1b;16341634 是 44 位数…

Swift 序列(Sequence)排序面面俱到 - 从过去到现在(一)

概览 在任何语言中对序列(或集合)元素的排序无疑是一种司空见惯的常规操作,在 Swift 语言里自然也不例外。序列排序看似简单,实则“暗藏玄机”。 要想真正掌握 Swift 语言中对排序的“各种姿势”,我们还得从长计议。不如就先从最简单的排序基本功开始聊起吧。 在本篇博…