【Web前端开发】CSS基础
2.CSS
2.1CSS概念
CSS是一组样式设置的规则,称为层叠样式表,用于控制页面的外观样式。
使用CSS能够对网页中元素位置的排版进行像素控制,实现美化页面的效果,也能够做到页面的样式和结构分离。
2.2基本语法
通常都是:在head标签里头添加一个style样式标签,样式标签里添加要修改的样式
<head>
<title>标题</title>
<style>
选择器{
属性名:属性值;
属性名:属性值;
……
}
</style>
</head>
注:不同的选择器写法不一样;这种写法是内部样式的写法,对于样式较少的代码适合用内部样式。
2.3引入方式
- 内部样式表
- 行内样式表
行内样式的写法比内部样式优先级更高!
- 外部样式表
将CSS与Html分开来,创建一个css后缀的文件,将内部样式的style标签里的内容写法一样,再将html后缀的文件与css后缀的文件链接起来。
<link rel="stylesheet" href="xxx.css">
2.4CSS基本用法
1.选择器的种类
-
基础选择器
1)标签选择器:只要出现了该标签的位置都被修改了样式。使用时只需要加上标签即可,如下图的p标签(第一个);
2)类选择器:使同一个标签出现不同的样式。给每个标签定义一个class,对应的内容在使用时需要加上一个点(.),如下图:
3)id选择器:每个id对应的值只能出现一次,所以往后设计id 时最好唯一。使用id对应的css需要加上一个井号(#),如下图:
4)通配符选择器:在实际开发中针对页面种所有元素默认样式进行消除,只要用来消除边距。使用时一个(*+空格)就会选取所有标签,如下图:
-
复合选择器
1)后代选择器:选择某个父元素中的某个子元素(子元素只要是父元素的后辈都可以)
元素1 元素2 {样式声明}1)元素1和元素2要使用空格分割
2)元素1是父级,元素2是子集,只影响元素2
2)子选择器:父元素下只能选择子标签,改变的样式是子标签
元素1>元素2 { 样式声明 }1)使用大于号分割
2)只选亲儿子, 不选孙子元素
3) 并集选择器:多个选择器同时实现同一样式
元素1, 元素2 { 样式声明 }1)通过逗号分割等多个元素.
2)表示同时选中元素1和元素 2.
3)任何基础选择器都可以使用并集选择器.
4)伪类选择器:将一个超链接设置颜色,默认情况下、鼠标悬停该链接是、鼠标点击该链接时
a { 样式声明 }//默认情况下超链接的样式a:hover { 样式声明 }//当鼠标悬停在超链接时的样式a:action { 样式声明 }//当鼠标点击该链接字时的样式
2.常用元素属性
-
字体属性
1)字体 font-famliy:'宋体'等;
2)大小 font-size:20px;
3)字体粗细 font-weight:
4)字体倾斜 font-style:
-
文本属性
1)颜色 color:有以下三种方法表示颜色
- color:red;
- color:#ff0000;//第一个ff代表红的,第二个ff代表绿色,第三个ff代表蓝色
- color:rgb(255,0,0);同第二种相同,只是将ff转成十进制255
2)对齐方式 text-align: left、center、right(左、中、右)
3)首段缩进 text-indent:2em(缩进两个元素)、20px(缩进20个像素)
4)文本装饰 text-decoration:以下是常用取值
- underline 下划线
- none 什么都没有,可以用来去除超链接的下划线
- overline 上划线
- line-through 删除线
5)行高 line-height: 行高=上边距+字体大小+下边距
-
背景属性
1)背景颜色 background-color:在该选择器下的背景样式。如果要整个页面都设置那就在body或者*中设置样式。
2)背景图片 backgound-image:url(//添加图片链接)
3)平铺方式 background-repeat:平铺就是在该范围内放一张图片后,还有剩余空间往后继续添加图片直至铺满。以下是常用取值
- repeat 平铺(默认)
- no-repeat 不平铺
- repeat-x 水平平铺
- repeat-y 竖直平铺
4)背景位置 background-position:将背景图片设置位置(都是以左上角为原点),以下是参数取值
- 方位名词:top、left、right、bottom
- 精确单位:坐标或者百分比
- 混合单位:同时包含方位名词和精确单位(比如水平居中,竖直在20px)
5)背景图片大小background-size:背景图片大小。参数取值如下
- cover:将背景尽可能地放大到最大
- contain:将背景图片尽可能地最大完整地显现出来
-
圆角矩形
圆角矩形 border-radius:设置四个角地内切圆半径,以下是一些特殊圆角矩形(前提是需要设置一个矩形,可以通过设置width,height 和 边框border(border:2px green solid))
- 生成圆形:矩形为正方形的基础上,border-radius的取值是正方形边长的一半
- 生成圆角矩形:border-radius是矩形height的一半
- 对四个角设置不同的圆弧:border-top-left-radius(顶左)、border-top-right-radius(顶右)、border-bottom-left-radius(底左)、border-bottom-right-radius(底右)
3.元素的显示模式
1)常见的显示模式
- 行内元素:不独占一行的标签(像:a、b、span等)
- 块级元素:独占一行的标签(像:div、h1~h6、p等)
2)改变显示模式 display:修改元素的显示模式。以下是参数取值
- block:改成块级元素
- inline:改成行内元素(不常用)
- inline-block:改成行内块级元素
4.盒模型
1)边框 border:边框属性如下
- border-width:边框粗细
- border-style:默认没边框,1.solid 实线边框;2.dashed 虚线边框;3.dotted 点线边框
- border-color:边框颜色
- border-top / bottom / left / right:可以改变四个方向的边框。
注:如果我们呢设置一个200*100的矩形,那么边框的粗细会影响实际矩形的大小,为了不影响设置的矩形还是200*100,那么就要使用box-sizing:border-box(这样可以将边框粗细包含在内)
2)内边距 padding: 有下面五种方式表示内边距
- padding:5px;四个方向都是5px
- padding:5px 10px;上下是5px,左右时10px
- padding:5px 10px 20px;上是5px,左右是10px,下是20px
- padding:5px 10px 20px 30px;上5,右10,下20,左30(按照顺时针顺序)
- padding--top / bottom / left / right:可以设置四个方向的内边距
注: 内边距也会占用空间,同上边的边框原理相同
3) 外边距 margin :同内边距的五种方式相同
- 取值为auto可以将矩形居中但是字体不居中(字体居中用text-align:center)
5.弹性布局(需要设置在父元素中)
正常情况下设置一个如下图会出现的情况
1)flex属性:主盒子中包含副盒子,如果要在主盒子中设置一个副盒子的长和宽,是没有变化的。如果想要设置副盒子的大小就要添加display:flex,添加之后副盒子才可以设置成想要的长和宽,再加上justify-content:space-around可以让每个副盒子之间的间隙相等,并且使每一个副盒子的前后都有间隙,如果想要修改竖直方向的排列方式可以修改align-items。效果如下:
2)justify-content: 设置水平上的子元素排列方式。常见参数取值:
- start(flex-start):默认值,位于容器的开头
- end(flex-end):位于容器的结尾
- center:位于容器的中央
- space-between:项目在行与行之间留右间隙
- space-around:项目在行之前,行之间和行之后留有空间
3)align-items:设置竖直上的元素排列方式。常见参数取值
- stretch:默认值,行拉伸以占据剩余空间
- center:朝着弹性容器的中央对行打包
- start:朝着弹性容器的开头对行打包
- end:朝着弹性容器的结尾对行打包
- space-between:行均匀分布在弹性容器中
- space-around:行均匀分布在弹性容器中,两端各占一半
align-items只能针对单行元素来实现,如果有多行元素,就需要使用item-contents;
相关文章:

【Web前端开发】CSS基础
2.CSS 2.1CSS概念 CSS是一组样式设置的规则,称为层叠样式表,用于控制页面的外观样式。 使用CSS能够对网页中元素位置的排版进行像素控制,实现美化页面的效果,也能够做到页面的样式和结构分离。 2.2基本语法 通常都是ÿ…...
Google LLM prompt engineering(谷歌提示词工程指南)
文章目录 基本概念AI输出配置:调整AI的回答方式输出长度温度(Temperature)Top-K和Top-P 提示技术:让AI更好地理解你零样本提示(Zero-shot)少样本提示(Few-shot)系统提示(…...
接口出现 请求参数格式错误 的解决方法
目录 前言1. 问题所示2. 原理分析3. 解决方法前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 爬虫神器,无代码爬取,就来:bright.cn Java基本知识: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理…...

Git实战经验分享:深入掌握git commit --amend的进阶技巧
一、工具简介 git commit --amend是Git版本控制系统的核心补救命令,主要用于修正最近一次提交的元数据。该命令不会产生新的提交记录,而是通过覆盖原提交实现版本历史的整洁性,特别适合在本地仓库进行提交优化。 二、核心应用场景 提交信息…...

PTA:jmu-ds-最短路径
给定一个有向图,规定源点为0,求源点0到其他顶点最短路径。###你要实现的 函数接口定义: void Dijkstra(MGraph g,int v);//源点v到其他顶点最短路径 裁判测试程序样例: #include <stdio.h> #include <iostream> …...
Uniapp编写微信小程序,使用canvas进行绘图
一、canvas文档: https://developer.mozilla.org/zh-CN/docs/Web/API/Canvas_API/Tutorial 二、数据绘制(单位是像素): 1、绘制文本: 文字的长度超过设置的最大宽度,文字会缩在一起 ① 填充文本…...

WEB UI自动化测试之Pytest框架学习
文章目录 前言Pytest简介Pytest安装Pytest的常用插件Pytest的命名约束Pytest的运行方式Pytest运行方式与unittest对比主函数运行命令行运行执行结果代码说明 pytest.ini配置文件方式运行(推荐)使用markers标记测试用例 pytest中添加Fixture(测…...

深入理解 iOS 开发中的 `use_frameworks!`
在使用 CocoaPods 管理 iOS 项目依赖时,开发者经常会在 Podfile 文件中看到一个配置选项:use_frameworks!。本文将详细介绍这个配置选项的含义,以及如何决定是否在项目中使用它。 一、什么是 use_frameworks! 在 CocoaPods 中引入第三方库时…...

矩阵置零算法讲解
矩阵置零算法讲解 一、问题描述 给定一个 (m \times n) 的矩阵,如果一个元素为 (0) ,则将其所在行和列的所有元素都设为 (0) 。要求使用原地算法,即在不使用额外矩阵空间的情况下完成操作。 二、解题思路 暴力解法 最直观的想法是遍历矩阵,当遇到 (0) 元素时,直接将其…...

二本计算机,毕业=失业?
我嘞个豆,二本计算机,毕业即失业?! 今天咱们聊聊普通院校计算机专业的学生未来的发展方向。有些话可能不太中听,但希望大家能理性看待。 首先得承认,对于普通双非和二本的学生来说,就业率加上…...
Java 并发编程挑战:从原理到实战的深度剖析与解决方案
Java 作为企业级应用开发的主流语言,其多线程能力是支撑高并发场景的核心。然而,线程安全、死锁、性能瓶颈等问题仍是开发者难以绕过的暗礁。本文将从 JVM 内存模型、并发工具链到实际案例,系统性揭示 Java 并发编程的挑战与解决方案…...
机器学习第六讲:向量/矩阵 → 数据表格的数学表达,如Excel表格转数字阵列
机器学习第六讲:向量/矩阵 → 数据表格的数学表达,如Excel表格转数字阵列 资料取自《零基础学机器学习》。 查看总目录:学习大纲 关于DeepSeek本地部署指南可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署:…...

[docker基础二]NameSpace隔离实战
目录 一 实战目的 二 基础知识 1)dd 命令详解 2)mkfs命令详解 3)df命令详解 4)mount 命令详解 5)unshare命令详解 三 实战操作一(PID隔离) 四 实战操作二(MOunt隔离) 1)创建 Mount 隔离进程 2)在新进程里边,创建空白文件&#…...

Day22打卡-复习
复习日 仔细回顾一下之前21天的内容,没跟上进度的同学补一下进度。 作业: 自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交代码 泰坦尼克号人员生还预测https://www.kaggle.com/competitions/titanic/overview K…...
Express知识框架
一、核心概念 1. Express 简介 Node.js 的 Web 框架,提供 HTTP 服务器封装 轻量级但灵活,支持中间件扩展 基于路由,支持 RESTful API 和传统 MVC 架构 无内置 ORM 或模板引擎,但可集成第三方库 2. 核心对象 express() - 创建…...

uniapp + vue3 + 京东Nut动作面板组件:实现登录弹框组件(含代码、案例、小程序截图)
uniapp + vue3 + 京东Nut动作面板组件:实现登录弹框组件(含代码、案例、小程序截图) 代码示下,不再赘述。 动作面板组件:https://nutui-uniapp.netlify.app/components/feedback/actionsheet.html 项目背景 业务需求 描述: uniapp + vue3 + 京东Nut框架:实现登录弹框组…...

C++类和对象--中阶
C类和对象中阶 01. 类的6个默认成员函数 在 C 中,类有 6 个特殊的默认成员函数(不是 6 个构造函数),它们会在特定情况下由编译器自动生成。包括构造函数,析构函数,拷贝构造和赋值运算符重载,取…...
OSPF的四种特殊区域(Stub、Totally Stub、NSSA、Totally NSSA)详解
OSPF的四种特殊区域(Stub、Totally Stub、NSSA、Totally NSSA)通过限制LSA的传播来优化网络性能,减少路由表规模。以下是它们的核心区别: 1. Stub 区域(末梢区域) 允许的LSA类型:Type 1-3&#…...

数据签名在区块链中的独特应用与挑战
随着信息技术的飞速发展,分布式系统因其高效、可靠、可扩展等显著优点,在众多领域得到了极为广泛的应用。分布式系统通过网络将多个独立的计算节点连接在一起,协同完成复杂的任务,这种架构使得系统具备了强大的容错能力和负载均衡…...

数据可视化大屏——物流大数据服务平台(二)
代码分析: 物流大数据平台代码分析 这是一个基于 Bootstrap 和 ECharts 构建的物流大数据平台前端页面,设计采用了经典的三栏布局,主要展示河南省及全国的物流数据可视化内容。下面从多个维度进行分析: 1. 页面结构分析 整体采…...
5倍无损压缩+50 倍速转换HD Video 4K/8K 视频处理
各位视频处理小达人们,我跟你们说啊!有个超厉害的专业视频处理软件,叫HD Video Converter Factory Pro,简称HDVC,是WonderFox公司开发的。这软件功能老强大了,下面我给你们详细唠唠! 先说说它的…...
Vue学习百日计划-Deepseek版
阶段1:基础夯实(Day 1-30) 目标:掌握HTML/CSS/JavaScript基础,理解Vue核心概念和基础语法。 每日学习内容(2小时): HTML/CSS(Day 1-10) 学习HTML标签语义化…...

Maven 处理依赖冲突
Maven处理依赖冲突 什么是依赖冲突?如何解决?Maven自动处理依赖冲突的规则路径优先原则第一声明优先原则注意 子模块覆盖父模块父模块声明dependency子模块覆盖dependency父模块声明dependencyManagement 子模块覆盖dependency父模块声明dependencyManag…...

5.12第四次作业
实验要求:完成上图内容,要求五台路由器的环回地址均可以相互访问 AR1 AR2 AR3 AR4 AR5 AS 200 ospf配置 AR2 AR3 AR4 BGP配置 AR1(AS100) AR2(AS200) AR4 AR5(AS300) 结果...

【Lattice FPGA 开发】Diamond在线调试Reveal逻辑乱跳的解决
在Vivado中在always块中写逻辑时如果出现always块中的异步复位敏感词在块内部未使用的情况,如下例的rst: always (posedge clk or posedge rst) begin if(~tx_sense_flag)o_rd_adr < d1;else if((o_rd_adr d94) & (bit_cnt d7))o_rd_adr <…...

Go语言——kratos微服务框架使用
文章目录 一、安装依赖二、创建项目三、初始化项目四、使用git_bash命令终端运行命令五、创建自己的项目1、修改app.proto3、internal/service/app.go4、修改internal/service/service.go文件5、创建internal/biz/content.go文件6、修改internal/biz/biz.go文件7、创建internal…...
动作识别笔记
一些casual paper review 动作识别Input 从前:RGB,然后 RGB+2D pose 接着各种手工modalities,现在是纯pose 但是包含了 多人 interactive的pose Graph from skeleton verticies: keypoints,Edges: just joint btw keypoints一个训练的sample 是一个 panoramic graph, con…...

hiveserver2与beeline进行远程连接hive配置及遇到的问题
1、hiveserver2 参与用户模拟功能,因为开启后才能保证各用户之间的权限隔离。 1.1、配置 $HADOOP_HOME/etc/hadoop/core-site.xml <!--配置所有节点的root用户都可作为代理用户--> <property><name>hadoop.proxyuser.root.hosts</name>&…...

Stable Diffusion进阶之Controlnet插件使用
前面已经对Stable Diffusion的文生图和图生图的操作界面做了详细的介绍,接下来会介绍Stable Diffusion的进阶部分Controlnet插件的使用。往期文章详见: 爆肝整理!Stable Diffusion的完全使用手册(一)爆肝整理ÿ…...
解决vue create 创建项目,不能使用上下键选择模板的问题
使用 git bash 创建vue项目时候,无法使用上下键盘按键选择创建模板 处理: 1.当前界面,按CTR C终止创建命令; 2.使用 alias vuewinpty vue.cmd,更新命令环境; 3.再次使用 vue create demo创建项目…...