当前位置: 首页 > news >正文

前端基础 —— B / CSS基础

一、CSS 基础概述

定义:层叠样式表(Cascading Style Sheets)

作用:美化页面、实现样式与结构分离

二、CSS 基本语法与引入方式

1. 语法规范

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

选择器决定针对谁修改 (找谁)
声明决定修改啥. (干啥)

<style>
p {
/* 设置字体颜色 */
color: red;
/* 设置字体大小 */
font-size: 30px;
}
</style>
<p>hello</p>

写在 `<style>` 标签中,通常放在 `<head>`

2. 引入方式

内部样式表:写在 HTML 的 `<style>` 标签中

行内样式表:通过元素的 `style` 属性设置

外部样式表:通过 `<link>` 标签引入 `.css` 文件(推荐)

1. 创建一个 css 文件.
2. 使用 link 标签引入 css

<link rel="stylesheet" href="[CSS文件路径]">

创建 demo.html

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>外部样式</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div>上帝为你关上一扇门, 然后就去睡觉了</div>
</body>

创建 style.css

div {
color: red;
}

注意: 不要忘记 link 标签调用 CSS, 否则不生效.

三、代码风格

格式风格:展开风格(推荐)、紧凑风格

紧凑风格
p { color: red; font-size: 30px;}展开风格
p {
color: red;
font-size: 30px;
}

大小写:统一小写

空格规范:冒号后加空格,选择器与 `{` 之间加空格

四、选择器

1. 基础选择器

标签选择器

选中所有同名标签,能快速为同一类型的标签都选择出来.但是不能差异化选择

<style>
p {
color: red;
}
div {
color: green;
}
</style>
<p>咬人猫</p>
<p>咬人猫</p>
<p>咬人猫</p>
<div>阿叶君</div>
<div>阿叶君</div>
<div>阿叶君</div>

类选择器

可复用,差异化选择    

<style>
.blue {
color: blue;
}
</style>
<div class="blue">咬人猫</div>
<div>咬人猫</div>

语法细节:
类名用 . 开头的
下方的标签使用 class 属性来调用.
一个类可以被多个标签使用, 一个标签也能使用多个类(多个类名要使用空格分割, 这种做法可以让
代码更好复用)
如果是长的类名, 可以使用 - 分割.
不要使用纯数字, 或者中文, 以及标签名来命名类名

<style>
.box {
width: 200px;
height: 150px;
}
.red {
background-color: red;
}
.green {
background-color: green;
}
</style>
<div class="box red"></div>
<div class="box green"></div>
<div class="box red"></div>

ID 选择器

唯一,不能重复    

CSS 中使用 # 开头表示 id 选择器
id 选择器的值和 html 中某个元素的 id 值相同
html 的元素 id 不必带 #
id 是唯一的, 不能被多个标签使用 (是和 类选择器 最大的区别)

<style>
#ha {
color: red;
}
</style>
<div id="ha">蛤蛤蛤</div>

通配符选择器

选中所有元素    页面的所有内容都会被改成 红色 .不需要被页面结构调用

* {
color: red;
}

2. 复合选择器

后代选择器:`父 子`

元素 1 和 元素 2 要使用空格分割
元素 1 是父级, 元素 2 是子级, 只选元素 2 , 不影响元素 1

代码示例1: 把 ol 中的 li 修改颜色, 不影响 ul

<ul>
<li>aaa</li>
<li>bbb</li>
<li>ccc</li>
</ul>
<ol>
<li>ddd</li>
<li>eee</li>
<li>fff</li>
</ol>
ol li {
color: red;
}

代码示例2: 元素 2 不一定非是 儿子, 也可以是孙子

<ul>
<li>aaa</li>
<li>bbb</li>
<li><a href="#">ccc</a></li>
</ul>
ul li a {
color: yellow;
}
或者
ul a {
color: yellow;
}

代码示例3: 可以是任意基础选择器的组合. (包括类选择器, id 选择器)

<ol class="one">
<li>ddd</li>
<li>eee</li>
<li><a href="#">fff</a></li>
<li><a href="#">fff</a></li>
<li><a href="#">fff</a></li>
</ol>.one li a {
color: green;
}

子选择器:`父 > 子`

元素1>元素2 { 样式声明 }

使用大于号分割
只选亲儿子, 不选孙子元素

1. 把以下代码中的 "小猫" 改成红色

<div class="cat">
<ul>
<li><a href="#">小猫</a></li>
<li><a href="#">小猫</a></li>
<li><a href="#">小猫</a></li>
</ul>
</div>

CSS 结果:

.cat ul li a {
color: red;
}

2. 把以下代码中的 "小猫" 改成红色

<div class="cat">
<a href="#">小猫</a>
<ul>
<li><a href="#">小狗</a></li>
<li><a href="#">小狗</a></li>
</ul>
</div>
.cat>a {
color: red;
}

并集选择器:`元素1, 元素2`

伪类选择器:


链接伪类:`:link`, `:visited`, `:hover`, `:active`

焦点伪类:`:focus`

五、常用属性

1. 字体属性

font-family:字体类型

body {
font-family: '微软雅黑';
font-family: 'Microsoft YaHei';
}
<style>
.font-family .one {
font-family: 'Microsoft YaHei';
}
.font-family .two {
font-family: '宋体';
}
</style>
<div class="font-family">
<div class="one">
这是微软雅黑
</div>
<div class="two">
这是宋体
</div>
</div>

font-size:字体大小

p {
font-size: 20px;
}
<style>
.font-size .one {
font-size: 40px;
}
.font-size .two {
font-size: 20px;
}
</style>
<div class="font-size">
<div class="one">
大大大
</div>
<div class="two">
小小小
</div>
</div>

font-weight:字体粗细

p {
font-weight: bold;
font-weight: 700;
}

可以使用数字表示粗细.
700 == bold, 400 是不变粗, == normal
取值范围是 100 -> 900

<style>
.font-weight .one {
font-weight: 900;
}
.font-weight .two {
font-weight: 100;
}
</style>
<div class="font-weight">
<div class="one">
粗粗粗
</div>
<div class="two">
细细细
</div>
</div>

font-style:斜体/正常

/* 设置倾斜 */
font-style: italic;
/* 取消倾斜 */
font-style: normal;
<style>
.font-style em {
font-style: normal;
}
.font-style div {
font-style: italic;
}
</style>
<div class="font-style">
<em>
放假啦
</em>
<div class="one">
听说要加班
</div>
</div>

2. 文本属性

color:颜色

color: red;
color: #ff0000;
color: rgb(255, 0, 0);

RGB、十六进制、预定义色,鼠标悬停在 vscode 的颜色上, 会出现颜色选择器, 可以手动调整颜色.十六进制形式表示颜色, 如果两两相同, 就可以用一个来表示.#ff00ff => #f0f

<style>
.color {
color: red;
/* color: rgb(255, 0, 0); */
/* color: #ff0000; */
}
</style>
<div class="color">这是一段话</div>

text-align:水平对齐

控制文字水平方向的对齐.不光能控制文本对齐, 也能控制图片等元素居中或者靠右

<style>
.text-align .one {
text-align: left;
}
.text-align .two {
text-align: right;
}
.text-align .three {
text-align: center;
}
</style>
<div class="text-align">
<div class="one">左对齐</div>
<div class="two">右对齐</div>
<div class="three">居中对齐</div>
</div>

text-decoration:下划线、删除线

text-decoration: [值];

underline 下划线. [常用]
none 啥都没有. 可以给 a 标签去掉下划线.
overline 上划线. [不常用]
line-through 删除线 [不常用]

<style>
.text-decorate .one {
text-decoration: none;
}
.text-decorate .two {
text-decoration: underline;
}
.text-decorate .three {
text-decoration: overline;
}
.text-decorate .four {
text-decoration: line-through;
}
</style>
<div class="text-decorate">
<div class="one">啥都没有</div>
<div class="two">下划线</div>
<div class="three">上划线</div>
<div class="four">删除线</div>
</div>

text-indent:首行缩进

text-indent: [值];

单位可以使用 px 或者 em.
使用 em 作为单位更好. 1 个 em 就是当前元素的文字大小.
缩进可以是负的, 表示往左缩进. (会导致文字就冒出去了)

<style>
.text-indent .one {
text-indent: 2em;
}
.text-indent .two {
text-indent: -2em;
}
</style>
<div class="text-indent">
<div class="one">正常缩进</div>
<div class="two">反向缩进</div>
</div>

line-height:行高

3. 背景属性

background-color:背景颜色

background-image:背景图片

background-repeat:平铺方式

background-position:背景位置

background-size:背景尺寸(contain/cover)

六、圆角与边框

 border-radius:圆角矩形、圆形

复合写法:四个角分别设置

border` 简写:宽度、样式、颜色

七、元素显示模式

类型    特点描述    
块级元素    独占一行,可设宽高,如 div、p、h1h6    
行内元素    不独占一行,不能设宽高,如 span、a    
行内块元素    可设宽高且不独占一行,如 img、input    

- `display` 属性可改变显示模式:
- `block` / `inline` / `inline-block`

八、盒模型

 组成:`content + padding + border + margin`
- `box-sizing: border-box`:防止 padding/border 撑大盒子
- `margin: 0 auto`:块级元素水平居中
- 清除默认样式:`* { margin: 0; padding: 0; }`

九、弹性布局(Flex)

1. 基本概念
- 父元素设为 `display: flex` → 成为 flex 容器
- 子元素 → flex 项目
- 主轴与交叉轴方向

2. 常用属性

属性名    作用描述    
`justify-content`    主轴对齐方式(如居中、两端对齐)    
`align-items`    交叉轴对齐方式(如垂直居中)    
`flex-direction`    设置主轴方向(横向/纵向)    

十、Chrome 调试工具

- 打开方式:F12 或右键“检查”
- Elements 面板:
- 查看结构
- 实时修改样式
- 检查错误(黄色感叹号)

如需进一步细化某一部分(如 flex 布局实例、选择器练习等),可继续展开子模块。


文章转载自:

http://0cwTWDvB.ydhmt.cn
http://hE150SO8.ydhmt.cn
http://5Uu187Pp.ydhmt.cn
http://ta7BeqEi.ydhmt.cn
http://9Gk08hqk.ydhmt.cn
http://3V6rWM0P.ydhmt.cn
http://UlTzVQRL.ydhmt.cn
http://uBdHHMjx.ydhmt.cn
http://86SImNUm.ydhmt.cn
http://XTaOYGUH.ydhmt.cn
http://DOUVKqqh.ydhmt.cn
http://WyZlEFi2.ydhmt.cn
http://et5vNmmr.ydhmt.cn
http://s2o1FpJ7.ydhmt.cn
http://3d2epBeu.ydhmt.cn
http://QnYvpGez.ydhmt.cn
http://9JoiFYxq.ydhmt.cn
http://mFt7KJrw.ydhmt.cn
http://k4LZVQi2.ydhmt.cn
http://jXIw3J20.ydhmt.cn
http://AHwxw9VV.ydhmt.cn
http://5THjkGpb.ydhmt.cn
http://AtvTUUyj.ydhmt.cn
http://gqHK8JD4.ydhmt.cn
http://cXcBKBhk.ydhmt.cn
http://Rb5AZNv0.ydhmt.cn
http://JOjo8CWf.ydhmt.cn
http://6JJk6nlP.ydhmt.cn
http://9XonDunO.ydhmt.cn
http://yDDZN7Nf.ydhmt.cn
http://www.dtcms.com/a/383443.html

相关文章:

  • Qwen2.5-VL 实战:用 VLM 实现 “看图对话”,从目标检测到空间推理!【附源码】
  • vLLM - EngineCoreClient
  • MySQL专题Day(2)————存储引擎
  • 多文件编程与宏的使用
  • 第5节-连接表-Inner-Join
  • 【Csp - S】 图的知识
  • 【图文详解】MCP、A2A的核心技术特点以及架构模式
  • Java基础 9.13
  • Shell 正则表达式完全指南
  • 玩转ClaudeCode:用Database-MCP实现自然语言操作数据库
  • 【Android】答题系统Web服务器APP应用开发流程详解
  • Web服务器VS应用服务器:核心差异解析
  • 分享一个vue2的tinymce配置
  • spring bean一共有几种作用域
  • Redie详细入门教程2
  • Maven入门_简介、安装与配置
  • Vue组件化开发介绍
  • ​new species of flying reptile1 discovered in Scotland​
  • Spring JDBC与KingbaseES深度集成:构建高性能国产数据库应用实战
  • 闪电科创 SCI专业辅导
  • 【数据结构与算法】图 Floyd算法
  • 代码随想录算法训练营第十一天--二叉树2 || 226.翻转二叉树 / 101.对称二叉树 / 104.二叉树的最大深度 / 111.二叉树的最小深度
  • IDEA编译器设置代码注释模板
  • 10-鼠标操作的处理
  • efcore 对象内容相同 提交MSSQL后数据库没有更新
  • Docker 容器化
  • 玩转Docker | 使用Docker部署OmniTools自托管IT工具箱
  • 类的组合(对比继承)
  • python爬虫的逆向技术讲解
  • Cookie 和 Session