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

前端开发 2: CSS

在前端开发中,CSS(层叠样式表)是一种用于描述网页样式的语言。它控制着网页的布局、颜色、字体等外观效果。在本篇博客中,我将为你介绍 CSS 的基础知识和常用技巧,帮助你更好地掌握前端开发中的样式设计。

CSS 基础知识

CSS 由选择器和声明块组成。选择器用于选择要应用样式的 HTML 元素,声明块包含了一组属性和值,用于定义元素的样式。

以下是一个简单的 CSS 规则的示例:

h1 {color: red;font-size: 24px;
}

这个规则选择了所有的 h1 标签,并将其颜色设置为红色,字体大小设置为 24 像素。

CSS 选择器

CSS 选择器用于选择要应用样式的 HTML 元素。以下是一些常用的 CSS 选择器:

  • 元素选择器:选择指定的 HTML 元素,如 h1pdiv
  • 类选择器:选择具有相同类名的元素,如 .container.btn
  • ID 选择器:选择具有指定 ID 的元素,如 #header#sidebar
  • 属性选择器:选择具有指定属性的元素,如 [type="text"][href^="https://"]
  • 伪类选择器:选择元素的特殊状态,如 :hover:first-child

CSS 盒模型

CSS 盒模型描述了一个元素在网页布局中所占据的空间。它由内容区域、内边距、边框和外边距组成。理解盒模型对于控制元素的大小和布局至关重要。

下面是一个示例,展示了如何使用盒模型设置一个具有边框和内边距的盒子:

<div class="box">Hello, CSS Box Model!
</div>
.box {width: 200px;height: 100px;padding: 20px;border: 1px solid black;margin: 10px;
}

这个示例中,我们创建了一个具有 200 像素宽度、100 像素高度的盒子。我们设置了 20 像素的内边距、1 像素的边框和 10 像素的外边距。

CSS 布局

CSS 提供了多种布局技术,用于控制网页元素的位置和大小。以下是一些常用的 CSS 布局技术的示例:

流式布局

流式布局使用百分比和弹性盒子布局实现自适应布局。下面是一个示例,展示了如何创建一个简单的流式布局:

<div class="container"><div class="sidebar">Sidebar</div><div class="content">Content</div>
</div>
.container {display: flex;
}.sidebar {width: 25%;
}.content {width: 75%;
}

在这个示例中,我们将容器设置为弹性盒子布局,并使用百分比将侧边栏的宽度设置为容器的 25%,内容区域的宽度设置为容器的 75%。

栅格布局

栅格布局使用栅格系统将网页划分为多个列,实现灵活的布局。下面是一个示例,展示了如何使用栅格布局创建一个响应式的网格:

<div class="row"><div class="col">Column 1</div><div class="col">Column 2</div><div class="col">Column 3</div>
</div>
.row {display: flex;
}.col {flex: 1;padding: 10px;
}

在这个示例中,我们使用了一个包含三个列的网格。每个列都具有相同的弹性属性,使它们平均分配父容器的宽度。

CSS 动画和过渡

CSS 提供了动画和过渡功能,用于创建各种视觉效果和交互动画。以下是一个示例,展示了如何使用 CSS 过渡实现鼠标悬停时的渐变效果:

<button class="btn">Hover Me</button>
.btn {background-color: blue;color: white;transition: background-color 0.3s ease;
}.btn:hover {background-color: red;
}

在这个示例中,我们为按钮添加了一个背景颜色的过渡效果。当鼠标悬停在按钮上时,背景颜色会从蓝色平滑过渡到红色。

CSS 预处理器和后处理器

CSS 预处理器和后处理器是一些工具和语言,用于增强 CSS 的功能和可维护性。以下是一个示例,展示了如何使用 Sass(一种流行的 CSS 预处理器)来简化样式表的编写:

$primary-color: #007bff;.button {background-color: $primary-color;color: white;padding: 10px 20px;
}

在这个示例中,我们使用 Sass 定义了一个名为 $primary-color 的变量,并在按钮样式中使用它。这样,我们可以在整个样式表中轻松地更改主色调。

CSS 框架

CSS 框架是一组预定义的 CSS 样式和组件,用于快速构建网页和应用程序的界面。以下是一个示例,展示了如何使用 Bootstrap(一个流行的 CSS 框架)来创建一个响应式的导航栏:

<nav class="navbar"><a class="navbar-brand" href="#">Logo</a><ul class="navbar-nav"><li class="nav-item"><a class="nav-link" href="#">Home</a></li><li class="nav-item"><a class="nav-link" href="#">About</a></li><li class="nav-item"><a class="nav-link" href="#">Contact</a></li></ul>
</nav>

在这个示例中,我们使用了 Bootstrap 的导航栏组件,它提供了一个响应式的导航栏布局和样式。

总结

CSS 是前端开发中不可或缺的一部分,它控制网页的样式和布局。通过掌握 CSS 的基础知识、选择器、盒模型、布局技术、动画效果、预处理器和框架,你可以创建出令人印象深刻的网页和应用程序界面。

希望本篇博客能够帮助你更好地理解和运用 CSS,为你的前端开发之旅提供指导和灵感。如果你有任何问题或需要进一步的帮助,请随时向我提问。祝你在前端开发的世界中取得成功!

相关文章:

前端开发 2: CSS

在前端开发中&#xff0c;CSS&#xff08;层叠样式表&#xff09;是一种用于描述网页样式的语言。它控制着网页的布局、颜色、字体等外观效果。在本篇博客中&#xff0c;我将为你介绍 CSS 的基础知识和常用技巧&#xff0c;帮助你更好地掌握前端开发中的样式设计。 CSS 基础知…...

嵌入式-Stm32-江科大基于标准库的GPIO4个小实验

文章目录 一 、硬件介绍二 、实验&#xff1a;LED闪烁、LED流水灯、蜂鸣器提示2.1 需求1&#xff1a;面包板上的LED以1s为周期进行闪烁。亮0.5s,灭0.5s.....2.2 需求2: 8个LED实现流水灯2.3 需求3&#xff1a;蜂鸣器不断地发出滴滴、滴滴.....的提示音。蜂鸣器低电平触发。 三、…...

HackTheBox - Medium - Linux - Noter

Noter Noter 是一种中型 Linux 机器&#xff0c;其特点是利用了 Python Flask 应用程序&#xff0c;该应用程序使用易受远程代码执行影响的“节点”模块。由于“MySQL”守护进程以用户“root”身份运行&#xff0c;因此可以通过利用“MySQL”的用户定义函数来利用它来获得RCE并…...

Uniapp多选Popup(弹出层)

uniapp中多选组件很少&#xff0c;故个人简单开发了一个&#xff0c;可简单使用&#xff0c;也可根据个人需求稍微改进 支持的功能 单选多选&#xff08;默认&#xff09;限制选择数量默认选中禁用选项 属性说明 属性默认值说明singlefalsetrue为开启单选&#xff0c;否则为…...

什么是网络安全?网络安全概况

网络安全涉及保护我们的计算机网络、设备和数据免受未经授权的访问或破坏。 这个领域包括多种技术、过程和控制措施&#xff0c;旨在保护网络、设备和数据免受攻击、损害或未授权访问。网络安全涉及多个方面&#xff0c;包括但不限于信息安全、应用程序安全、操作系统安全等 …...

c语言小游戏之扫雷

目录 一&#xff1a;游戏设计理念及思路 二&#xff1a;初步规划的游戏界面 三&#xff1a;开始扫雷游戏的实现 注&#xff1a;1.创建三个文件&#xff0c;test.c用来测试整个游戏的运行&#xff0c;game.c用来实现扫雷游戏的主体&#xff0c;game.h用来函数声明和包含头文…...

如何本地安装Python Flask并结合内网穿透实现远程开发

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

在线App封装技术:HTML5的新生命

HTML5封装的魅力所在HTML5带来了丰富的多媒体功能、地理位置服务、离线存储等特性&#xff0c;使得Web应用的体验更加接近原生App。封装HTML5到App中&#xff0c;可以大大缩短开发周期&#xff0c;降低开发成本&#xff0c;并且一次编写&#xff0c;多平台运行&#xff0c;极大…...

Spring Boot 4.0:构建云原生Java应用的前沿工具

目录 前言 Spring Boot简介 Spring Boot 的新特性 1. 支持JDK 17 2. 集成云原生组件 3. 响应式编程支持 4. 更强大的安全性 5. 更简化的配置 Spring Boot 的应用场景 1. 云原生应用开发 2. 响应式应用程序 3. 安全性要求高的应用 4. JDK 17的应用 总结 作…...

Debian系统写Mysql时中文出现乱码无法定入的问题解决方案

原因是操作系统可能精简安装&#xff0c;没有GBK字符集&#xff0c;只有UTF8在转换或使用的时候有问题。 使用locale -a查看系统支持的字符集。正常的比较全的字符集的操作系统如下&#xff1a; 有问题的操作系统字符集如下&#xff1a; 解决方案&#xff1a; 步骤1&#…...

CPMS靶场练习

关键&#xff1a;找到文件上传点&#xff0c;分析对方验证的手段 首先查看前端发现没有任何上传的位置&#xff0c;找到网站的后台&#xff0c;通过弱口令admin 123456可以进入 通过查看网站内容发现只有文章列表可以进行文件上传&#xff1b;有两个图片上传点 图片验证很严格…...

CTFhub-bak文件

CTFhub-Web-信息泄露-备份文件下载-bak文件 题目信息 解题过程 看到提示说和index.php有关&#xff0c;在url后面加index.php.bak&#xff0c;跳转到http://challenge-7a4da2076cfabae6.sandbox.ctfhub.com:10800/index.php.bak网址&#xff0c;即&#xff1a; 跳转到下载页…...

本地部署轻量级web开发框架Flask并实现无公网ip远程访问开发界面

文章目录 1. 安装部署Flask2. 安装Cpolar内网穿透3. 配置Flask的web界面公网访问地址4. 公网远程访问Flask的web界面 本篇文章主要讲解如何在本地安装Flask&#xff0c;以及如何将其web界面发布到公网进行远程访问。 Flask是目前十分流行的web框架&#xff0c;采用Python编程语…...

面试题-MySQL如何定位慢查询

慢查询出现的情况就这些&#xff1a;聚合查询、多表查询、表数据量过大查询、深度分页查询。 表象&#xff1a;页面加载过慢、接口压测响应时间过长&#xff08;超过1S&#xff09;。 假如你的业务接口就是比较慢&#xff0c;你怎么知道是SQL的问题呢&#xff1f;就算是SQL的…...

【C++PCL】点云处理K-Means点云分割

目录 1.原理介绍 2.代码效果 3.源码展示 4.参数调试 5.注意事项...

代码随想录算法训练DAY25|回溯2

算法训练DAY25|回溯2 216.组合总和III 力扣题目链接 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数&#xff0c;并且每种组合中不存在重复的数字。 说明&#xff1a; 所有数字都是正整数。 解集不能包含重复的组合。 示例 1: 输入: k 3, n …...

hanlp,pkuseg,jieba,cutword分词实践

总结&#xff1a;只有jieba,cutword,baidu lac成功将色盲色弱成功分对,这两个库字典应该是最全的 hanlp[持续更新中] https://github.com/hankcs/HanLP/blob/doc-zh/plugins/hanlp_demo/hanlp_demo/zh/tok_stl.ipynb import hanlp # hanlp.pretrained.tok.ALL # 语种见名称最…...

一个简单的Vue实例

Vue.js 是一个流行的 JavaScript 框架&#xff0c;用于构建交互式的网页应用。一个基本的 Vue 实例包含数据对象、模板、挂载点、方法和生命周期钩子等。 以下是一个简单的 Vue 实例示例&#xff1a; // 创建一个新的 Vue 实例 var app new Vue({el: #app, // 指定一个挂载点…...

【GoLang入门教程】Go语言几种标准库介绍(八)

ChatGPT 和文心一言哪个更好用&#xff1f; 文章目录 ChatGPT 和文心一言哪个更好用&#xff1f;强烈推荐前言几种库runtime库 ( 运行时接口)常用的函数&#xff1a;示例 sort库&#xff08;排序接口&#xff09;主要的函数和接口&#xff1a;示例 strings库(字符串转换、解析及…...

[系统安全] 五十四.恶意软件分析 (6)PE文件解析及利用Python获取样本时间戳

您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...