Web开发(二)CSS3基础与进阶

server/2025/1/19 19:36:49/

Web开发(二)CSS3基础与进阶

写在前面

参考黑马程序员前端Web教程做的笔记,主要是想后面自己搭建网页玩。

这部分是前端HTML5+CSS3+移动web视频教程的CSS3基础与进阶部分,包括CSS3的选择器、文字控制属性、背景属性、显示模式等CSS基础特性。

CSS基础

基础选择器

CSS是给浏览器看的,作用:美化内容。

image-20250113171334799

示例如下。

image-20250113171612466

CSS引入方式

stylesheet,即样式表

image-20250113172317808

外部样式表示例:

image-20250113172228940

对应的css写法同内部style相同

image-20250113172244823

行内样式示例

image-20250113172442268

选择器

标签选择器

image-20250115091818520

image-20250115091753755

类选择器

最常用的选择器之一

image-20250115092241218

用多个类名例子:

image-20250115092316636

id选择器

image-20250115095210685

*通配符

通配符用于开发初期清楚标签默认样式使用

image-20250115095634458

image-20250115095627278

画盒子

image-20250115100058593

image-20250115100315013

文字控制属性

常见属性设定如下:

image-20250115100400428

font相关

通过Google的检查,可以进入调试工具来检查是否。Google中,默认字体的像素大小为16px。

image-20250115101701702

关于字体粗细,一般使用数字的写法,而比较少用关键字的写法。

image-20250115101623218

字体倾斜

image-20250115101958123

行高,由上间距、文本高度、下间距组成。通常上间距=下间距

image-20250115102229205

image-20250115102617705

使用行高可以实现文字垂直居中,通过设定和div相同的高度,即可完成垂直居中。(单行文字)

image-20250115102930052

字体族font-family。实际使用直接从已有网页(如京东、淘宝等)复制即可。

image-20250115103702623

font复合属性,实际使用中同样直接从已有网页(如京东、淘宝等)复制即可。

image-20250115103918623

image-20250115103956092

实际中,设定“是否倾斜”后,可以跳过“是否加粗”属性。

image-20250115104335426

文本缩进、对齐与修饰线

文本缩进。

em:em space或者叫em width。表示字母 “M” 的宽度,用作计量单位时,可以理解为相对于当前字体大小的倍数。

image-20250115104728466

文本对齐

image-20250115105338467

文本居中里面,居中的是文字内容,而不是标签。如下所示,h1标签大小并未发生变化。

image-20250115105630740

同样可以设置图片居中。

image-20250115105746323

文本修饰线

image-20250115110059579

文字颜色

RGB表示法,了解即可。十六进制中,两两一组,如果数字相同,可以化简为同一位。如#ffcc00->#fc0

image-20250115110641222

调试工具

错误出现在20-调试工具.html的第九行。

image-20250115111753335

通过勾选复选框可以调试代码属性。

image-20250115111932226

综合案例1——新闻详情

完成样式。

image-20250115113442198

对应代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>新闻详情</title><style>css">h1{font-weight: 400;font-size: 30px;text-align: center;color:#333;}div{font-size: 14px;color: #999;}p{font-size: 18px;text-indent: 2em;color: #333;}.img{text-align: center;}</style>
</head>
<body><h1>在希望的田野上 | 湖北秋收开镰 各地多举措保增产增收</h1><div>来源:央视网 | 2222年12月12日 12:12:12</div><p><strong>央视网消息</strong>:眼下,湖北省秋收开镰已有一周多的时间。水稻收割已经超过四成,玉米收割七成。湖北省通过大力推广新品种水稻,建设高标准农田等一系列措施,为秋粮稳产提供有力支撑。</p><p>中稻占据了湖北全年粮食产量的一半以上。在湖北的主产区荆门市,370万亩中稻已经收割四成以上。</p><div class="img"><img src="./img/1.jpg" alt="CCTV1的拖拉机照片"></div><p>王化林说的新品种,是湖北省研发的杂交水稻“华夏香丝”,不仅产量高,还具有抗病、抗倒、抗高温的特性。在荆门漳河镇的一工程示范田内,像“华夏香丝”这样抗旱节水的品种还有20多个,这些水稻新品将在荆门全面推广,确保来年增产增收。</p><p>此外,湖北还大力推进高标准农田建设。截至今年6月,已建成3980万亩高标准农田。目前,湖北全省仍有1800多万亩中稻正在有序收割中,预计10月中旬收割完毕。</p>
</body>
</html>

综合案例2——CSS简介

完成样式

image-20250115132703562

代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSS简介</title><style>css">h1{color: #333;}p{font-size:14px;color:#444;line-height: 30px;text-indent: 2em;}.url{color: #0069c2;}li{font-size:14px;color:#444;line-height: 30px;}</style>
</head>
<body><h1>CSS(层叠样式表)</h1><p>层叠样式表 (Cascading Style Sheets,缩写为 CSS),是一种<a href="#" class="url">样式表</a>语言,用来描述 HTML 或 XML(包括如 SVG、MathML、XHTML 之类的 XML 分支语言)文档的呈现。CSS 描述了在屏幕、纸质、音频等其它媒体上的元素应该如何被渲染的问题。</p><p><strong>CSS 是开放网络的核心语言之一,</strong>由 W3C 规范 实现跨浏览器的标准化。CSS 节省了大量的工作。 样式可以通过定义保存在外部.css 文件中,同时控制多个网页的布局,这意味着开发者不必经历在所有网页上编辑布局的麻烦。CSS 被分为不同等级:CSS1 现已废弃, CSS2.1 是推荐标准, CSS3 分成多个小模块且正在标准化中。</p><ul><li>CSS 介绍 如果你是Web开发的新手,请务必阅读我们的CSS基础 文章以学习CSS的含义和用法。</li><li>CSS 教程 我们的CSS学习区包含了丰富的教程,它们覆盖了全部基础知识,能使你在CSS之路上从初出茅庐到游刃有余。</li><li>CSS 参考 针对资深Web开发者的<a href="#" class="url">详细参考手册</a>,描述了CSS的各个属性与概念。</li></ul></body>
</html>

CSS进阶

复合选择器

image-20250115141922416

后代选择器

image-20250115142016763

注意,会选择父亲后代的所有选择器

image-20250115142210343

子代选择器

可用子代选择器只选儿子span

image-20250115142243737

image-20250115142339214

并集选择器

image-20250115142435858

image-20250115142522107

交集选择器(了解)

比如必须选择p标签和class=‘box’标签,这儿的点是“.box"中的点。

image-20250115142640173

image-20250115142742120

伪类选择器

基础

比如选择鼠标划过的状态,让它和其他的标签不一样(如图中的橙色)

image-20250115143039312

任何标签都可以设置鼠标悬停hover状态

image-20250115143322917

拓展(了解)

image-20250115143415242

image-20250115143729555

CSS三大特性

image-20250115150001267

继承性

image-20250115151022480

h1的默认font-size为2em,相当于父级font-size的两倍,所以body的font-size为30px,两倍是60px

image-20250115151324422

层叠性

即div应该为绿色。image-20250115151426842

这里同一个选择器被定义了多次,后面的属性就会覆盖前面的属性。

image-20250115151711158

优先级
基础

image-20250115151845706

image-20250115152239381

叠加计算规则

image-20250115152545364

方法

  1. 首先判断是否为important或者为继承。
  2. 再比较上述规则中的第一条。

PS:继承就是父级标签的样式,而没有特定到当前的子标签中。

例子1

  1. 这些选择器都直接控制文本,而不是间接控制的,故没有继承,也明显没有important。

  2. 所以直接比较优先度,最后为橙色

image-20250115153233367

例子2

.father为父类,所以为继承。因此最后为红色。

image-20250115153505662

例子3

其中,#father虽然为important,但是它是父类的important,即继承情况,因此优先度低。

image-20250115153824356

Emmet写法(简写方法)

其中div.类名还可以直接简化为“.类名"

image-20250115155319651

背景属性

image-20250115161831797

背景图image

在浏览器中,背景图默认效果为平铺,即复制。

image-20250115161809327

如下示例,原本图片是一只猫,结果被平铺(复制)为了四只猫。

image-20250115162011791

平铺方式repeat

可以通过repeat控制背景图的平铺方式。

image-20250115162122057

no-repeat示例,图片默认显示在左上角,剩余默认为背景色。

image-20250115162326140

背景图位置position

三种方法(包括关键字和坐标混用)都可。

如果坐标取负数,图片取负值的位置会被砍掉(因为该部分图片不包括在盒子中)

image-20250115162930514

背景图缩放size

image-20250115163309847

百分比缩放也是等比例缩放的,而且百分比针对的是宽度。

image-20250115163551854

背景图固定attachment

image-20250115163819549

背景复合属性background

image-20250115163951302

显示模式

基础

image-20250115165306692

image-20250115170053026

转换显示模式

image-20250115171749087

inline在工作中不常用。图片默认其底部与文字基线对齐,所以向上撑开。

image-20250115171546286

综合案例1——热词

任务目标:

image-20250115203421718

题目示例中文字为超链接,采用了将“a”修改为block的方法实现。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>热词</title><style>css">a{display: block;width: 200px;height: 80px;background-color:#3064bb;color: #fff;text-decoration: none;font-size: 18px;line-height: 80px;text-align: center;}a:hover{background-color: #608dd9;}</style>
</head>
<body><a href="#">HTML</a><a href="#">CSS</a><a href="#">JavaScript</a><a href="#">Vue</a><a href="#">React</a>
</body>
</html>

实际上笔者写的时候选择了div块包裹a的方式实现,实现效果相同。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>热词</title><style>css">div{display: block;width: 200px;height: 80px;background-color:#3064bb;text-align: center;}div a{text-decoration: none;          color: #fff;font-size: 18px;line-height: 80px;}div:hover{background-color: #608dd9;}</style>
</head>
<body><div><a href="#">HTML</a></div><div><a href="#">CSS</a></div><div><a href="#">JavaScript</a></div><div><a href="#">Vue</a></div><div><a href="#">React</a></div>
</body>
</html>

综合案例2——banner效果

完成目标

image-20250115204410625

对应代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>banner效果</title><style>css">.banner{height: 500px;background-color: #f3f3f4;background-image: url(./img/bk.png);background-repeat: no-repeat;background-position: left bottom;/* 继承给子类 */text-align: right;color: #333;}.banner h2{font-size: 36px;font-weight: 400;line-height: 100px;}.banner p{font-size: 20px;font-weight: 400;}.banner a{/* display: block; *//* block元素会占一整行,所以不能向右对齐 */display: inline-block;background-color: #f06b1f;width: 125px;height: 40px;background-position: right;text-decoration: none;font-size: 20px;color: #fff;text-align: center;line-height: 40px;}</style>
</head>
<body><div class="banner"><h2>让创造产生价值</h2><p>我们希望小游戏平台可以提供无限的可能性,让每一个创作者都可以将他们的才华和创意传递给用户。</p><a href="#">我要报名</a></div>
</body>
</html>

http://www.ppmy.cn/server/159700.html

相关文章

浅谈云计算13 | 网络虚拟化

网络虚拟化 一、网络虚拟化技术原理剖析1.1 网络虚拟化基础概念2.2 关键技术原理2.2.1 虚拟交换机原理2.2.2 虚拟机网络连接原理2.2.3 网络功能虚拟化&#xff08;NFV&#xff09;原理 三、网络虚拟化的应用场景3.1 数据中心中的应用3.1.1 资源隔离与多租户支持3.1.2 网络流量优…

基于SSM实现的乡村振兴文化平台系统功能实现六

一、前言介绍&#xff1a; 1.1 项目摘要 农耕文明是广大群众在几千年的农业生产生活中智慧的结晶&#xff0c;不仅是乡土文化的核心和精髓&#xff0c;还是中华文明的起源和基因。因此&#xff0c;传承和发扬优秀乡村文化&#xff0c;是传承农耕文明的必然要求。 文化振兴是乡…

springboot基于微信小程序的智慧小区管理系统

Spring Boot基于微信小程序的智慧小区管理系统是一种集信息化、智能化于一体的现代小区管理工具。它充分利用Spring Boot框架的高效性和微信小程序的便捷性&#xff0c;为小区居民、物业管理人员以及服务提供者提供了一个全面、高效、易用的管理平台。 一、系统背景与意义 随…

Ubuntu 22.04.5 修改IP

Ubuntu22.04.5使用的是netplan管理网络&#xff0c;因此需要在文件夹/etc/netplan下的01-network-manager-all.yaml中修改&#xff0c;需要权限&#xff0c;使用sudo vim或者其他编辑器&#xff0c;修改后的内容如下&#xff1a; # Let NetworkManager manage all devices on …

通过视觉语言模型蒸馏进行 3D 形状零件分割

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01;对应英文要求比较高&#xff0c;特此说明&#xff01; Abstract This paper proposes a cross-modal distillation framework, PartDistill, which transfers 2D knowledge from vision-language models …

SSM课设-酒店管理系统功能设计

【课设者】SSM课设-酒店管理系统 分为用户端管理员端 技术栈: 后端: Spring Spring MVC MyBatis Mysql JSP 前端: HtmlCssJavaScriptAjax 功能: 用户端主要功能包括&#xff1a; 登录注册 客房预订 客房评论 首页 管理员端主要功能包括&#xff1a; 会员信息管理 客房信息…

迅翼SwiftWing | ROS 固定翼开源仿真平台正式发布!

经过前期内测调试&#xff0c;ROS固定翼开源仿真平台今日正式上线&#xff01;现平台除适配PX4ROS环境外&#xff0c;也已实现APROS环境下的单机飞行控制仿真适配。欢迎大家通过文末链接查看项目地址以及具体使用手册。 1 平台简介 ROS固定翼仿真平台旨在实现固定翼无人机决策…

大数据-236 离线数仓 - 会员活跃度 WDS 与 ADS 导出到 MySQL 与 广告业务 需求分析

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; Java篇开始了&#xff01; 目前开始更新 MyBatis&#xff0c;一起深入浅出&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff0…