速通前端篇 —— CSS

速通前端篇 —— CSS

找往期文章包括但不限于本期文章中不懂的知识点:

个人主页:我要学编程程(ಥ_ಥ)-ZEEKLOG博客

所属专栏:速通前端

目录

CSS的介绍

基本语法规范

CSS选择器

标签选择器

class选择器 

id选择器 

复合选择器 

通配符选择器

CSS常见样式 

颜色 color

字体大小 font-size 

边框 border 

宽度 与 高度 

内边距

外边距 


CSS的介绍

CSS(Cascading Style Sheet),层叠样式表,用于控制页面的样式。CSS能够对网页中元素位置的排版进行像素级精确控制,实现美化页面的效果。能够做到页面的样式和结构分离。简单理解,CSS就是类似于对页面进行"化妆",让页面变得更加好看。

基本语法规范

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

1、选择器决定针对谁修改 (找谁);2、声明决定修改啥(干啥);3、声明的属性是键值对,使用";"区分键值对,使用":"区分键和值。

既然CSS是"化妆",那首先得要对象才行,这个对象就是HTML的代码。

CSS有三种引入方式,引入到HTML的代码中:

引入方式描述
行内样式在标签内使用style属性,属性值是css属性键值对
内部样式定义<style>标签,在标签内部定义css样式
外部样式定义<link>标签,通过href属性引入外部的css文件

代码演示:

1、行内样式:

2、内部样式:

3、外部样式: 

三种引入方式的对比: 

行内样式,只适合于写简单样式,只针对某个标签生效。缺点是不能写太复杂的样式。

内部样式会出现大量的代码冗余,不方便后期的维护,所以不常用。

外部样式,html和css实现了完全的分离,企业开发常用方式。

注意:内部样式虽然可以写在任何地方,但我们常是写在 head 标签中。

CSS选择器

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

CSS选择器主要分以下几种:
1、标签选择器
2、class选择器
3、id选择器
4、复合选择器
5、通配符选择器

下面我们一 一来学习:

标签选择器

class选择器 

class是标签的一个属性,可以认为有相同class的标签被认为是同一组,在此基础上我们就可以进行一些列的其他操作,比较方便。

注意:

1、类名是可以随便取的,但不能是数字。 

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

id选择器 

复合选择器 

复合选择器是通过多个标签唯一的那个标签,然后进行设置相关属性的。和在文件夹中查找某个文件差不多。

如果我们只想将 有序列表下的div设置成红色,就可以使用复合选择器。

如果想更详细的一点的话,可以写成 body ol div 或者直接将 html 给包裹进来都是没问题的。 

注意:

1、上面的 ol 与 div 可以是任意选择器的组合,也可以是任意数量选择器的组合。

2、这里的标签不一定要是相邻的标签,例如,父标签-子标签。可以直接是 父标签-孙子标签。

3、如果想要选择多种标签,可以使用 ","来分隔。

通配符选择器

这里的通配符和我们在Java中学习的通配符是一样的,都是可以去代表所有,只不过Java中的通配符只能作为接收方,而不能是发送方(与多态一样,向上转型可以,但是向下转型就会失败)。而这里的通配符是全部都行。

这里通配符是采用 *。 

CSS常见样式 

颜色 color

color 是用来设置字体的颜色的,颜色的表示方式有三种。第一种就是我们前面直接使用英文单词去表述的;第二种是使用三原色的参数来设置的;第三种是在第二种的基础上,使用十六进制的数字来表示的。

第一种前面有,因此这里不作演示,我们直接来看第二种与第三种的方式。

1、使用三原色:

三原色(rgb)指的是 red、green、blue,三种颜色。通过参数来调整三者的占比,从而实现不同的颜色。

如果要变为绿色的话,就是(0, 255, 0)。 

2、使用十六进制数:

因为rgb的参数范围是(0,255),可以用2^8来表示,如果把2^8看成比特位的话,就是可以用8个比特位来表示,而一个十六进制位可以表示4位二进制,即 两个十六进制位可以表示上述rgb的参数范围。

字体大小 font-size 

边框 border 

边框是一个复合属性,常用的包括 边框粗细、边框样式、边框颜色。既可以一起同时设置,也可以分开设置三者。

样式说明举例
border-width设置边框粗细取数值
border-style设置边框样式dotted:点状
border-color设置边框颜色与color是相同的,有三种方式

上面是三者分开设置的,下面来尝试三者一起设置。

注意:并不只是div才能设置边框,几乎所有的标签都是可以设置边框的。

宽度 与 高度 

width 设置宽度、height 设置高度。

注意:只有块级元素可以设置宽高。常见的块级元素有: h1-h6、P、div等,常见的行内元素有:span、a。块级元素是独占一行的,因此可以设置其相关的属性,而行内元素是不能独占一行的,也就是会和其他的元素一起占据一行,如果去设置其的宽高,那别的元素也需要改变,这就不合理,因此行内元素不能设置宽高。当然,我们也可以使用 display 属性来修改元素的显示模式。

display : block 改成块级元素;display : inline 改成行内元素。

内边距

padding:内边距,其含义是内容和边框之间的距离。

内容默认是顶着边框来放置的,可以用padding来控制这个距离。

padding也是一个复合样式,可以对四个方向分开设置。

padding-top(顶部)、padding-bottom(底部)、padding-left(左部)、padding-right(右部)

当然,也可以设置边框为实线去观察。

外边距 

margin:外边距,其含义是元素与元素之间的距离。同样元素与元素之间默认也是挨着的。

margin也是一个复合样式,可以给四个方向都加上外边距。与内边距类似,这里就不再演示了。 

前面的样式涉及到了一个著名的IE盒子模型:

好啦!本期 速通前端篇 —— CSS 的学习之旅 就到此结束啦!我们下一期再一起学习吧!

Read more

Claude Code Viewer: 打造 Web 端 Claude Code 会话管理利器

Claude Code Viewer: 打造 Web 端 Claude Code 会话管理利器 当 Claude Code 成为日常开发标配,如何更高效地管理会话历史、分析对话流程就成了开发者的新需求。Claude Code Viewer 应运而生——一个功能完备的 Web 端 Claude Code 客户端。 背景介绍 Claude Code 是 Anthropic 推出的 AI 编程助手,但其原生的会话管理能力相对基础。大多数开发者面临以下痛点: * 会话历史难以追溯和检索 * 无法在移动设备上方便地查看会话 * 多人协作时难以共享会话内容 * 缺乏对会话流程的全局视角 Claude Code Viewer 正是为解决这些问题而生的开源项目。它采用 Web 架构设计,专注于会话日志的完整分析,通过严格的数据校验和渐进式展示 UI,让每一个对话细节都清晰可见。

【芯片解读】TI AFE5816:16通道超声波模拟前端 (AFE) 深度详解

【芯片解读】TI AFE5816:16通道超声波模拟前端 (AFE) 深度详解

【芯片解读】TI AFE5816:16通道超声波模拟前端 (AFE) 深度详解 简介 在医疗超声成像、无若检测(NDT)以及声纳应用中,模拟前端(AFE)的性能直接决定了成像的质量。Texas Instruments (TI) 的 AFE5816 是一款高度集成的 16 通道模拟前端解决方案,专为需要高性能、低功耗和小尺寸的便携式及高端超声波系统设计。 国产类似产品为海思的AC9810-32,该产品与TI的AFE5832功能相似,为32通道AFE,海思后续还有64通道的产品推出。 1. 核心特性概览 (Key Features) AFE5816 是一个多芯片模块(MCM),集成了两个晶圆:VCA(压控放大器)和 ADC_CONV(模数转换)。其主要特性如下: * 高集成度:单芯片集成 16 个通道,每个通道包含衰减器、LNA、LPF、

【粉丝福利社】扣子(Coze) Skills+OpenClaw 实战:零基础玩转AI智能体

【粉丝福利社】扣子(Coze) Skills+OpenClaw 实战:零基础玩转AI智能体

💎【行业认证·权威头衔】 ✔ 华为云天团核心成员:特约编辑/云享专家/开发者专家/产品云测专家 ✔ 开发者社区全满贯:ZEEKLOG博客&商业化双料专家/阿里云签约作者/腾讯云内容共创官/掘金&亚马逊&51CTO顶级博主 ✔ 技术生态共建先锋:横跨鸿蒙、云计算、AI等前沿领域的技术布道者 🏆【荣誉殿堂】 🎖 连续三年蝉联"华为云十佳博主"(2022-2024) 🎖 双冠加冕ZEEKLOG"年度博客之星TOP2"(2022&2023) 🎖 十余个技术社区年度杰出贡献奖得主 📚【知识宝库】 覆盖全栈技术矩阵: ◾ 编程语言:.NET/Java/Python/Go/Node… ◾ 移动生态:HarmonyOS/iOS/Android/小程序 ◾ 前沿领域:

前端拖拽交互实现:别再只会用原生拖拽了

前端拖拽交互实现:别再只会用原生拖拽了

前端拖拽交互实现:别再只会用原生拖拽了 毒舌时刻 这代码写得跟网红滤镜似的——仅供参考。 各位前端同行,咱们今天聊聊前端拖拽交互。别告诉我你还在用原生的HTML5拖拽API,那感觉就像在用诺基亚手机——能打电话,但体验太差。 为什么你需要拖拽交互 最近看到一个项目,拖拽功能全靠原生API实现,卡顿、不流畅,用户体验极差,我差点当场去世。我就想问:你是在做拖拽还是在做卡顿生成器? 反面教材 // 反面教材:原生拖拽API function handleDragStart(e) { e.dataTransfer.setData('text/plain', e.target.id); } function handleDragOver(e) { e.preventDefault(); } function handleDrop(e) { e.preventDefault(); const id = e.dataTransfer.