从 HTML 到 CSS:开启网页样式之旅(开篇之一)——CSS 初体验与网页样式新征程

从 HTML 到 CSS:开启网页样式之旅(一)——CSS 初体验与网页样式新征程

  • 前言
  • 一、为什么需要 CSS?
  • 二、CSS的引用
    • (一)行内样式
    • (二)内部样式
    • (三)外部样式
    • (四)样式表的优先级
  • 三、CSS语法规范
    • (一)选择器
      • 例子(后面会详细讲)
      • 1.元素选择器
      • 2.类选择器
      • 3.ID选择器
    • (二)声明块
      • 1.属性名和属性值
      • 2.注释的写法


前言

  • 之前的学习和分享中,我们已经对 HTML(超文本标记语言)有了较为深入的了解。HTML 就像是搭建房屋的骨架,它为我们的网页提供了基本的结构内容框架,让我们能够在浏览器中呈现出文字、图片、链接等各种元素。**然而,仅仅有骨架可不够,要让我们的网页真正变得美观、吸引人,就需要 CSS(层叠样式表)登场啦!**今天,就让我们在 HTML 讲解结束的基础上,正式开启对 CSS 的探索之旅

在这里插入图片描述
HTML(结构)

它负责定义网页的结构和内容。例如,<html>、<body>、<div>、<p>等标签用于构建网页的基本框架,确定页面上元素的位置和层次关系。

CSS(表现)

CSS(层叠样式表)用于控制网页的外观和样式。==它可以设置元素的颜色、大小、字体、布局等。==例如,color: red;可以将文本颜色设置为红色,font - size: 16px;可以设置字体大小为 16 像素。

JavaScript(行为)

JavaScript 是一种脚本语言,用于实现网页的动态效果和交互功能。==例如,它可以用于创建下拉菜单、表单验证、动画效果等。==当用户点击按钮、输入文本或在页面上进行其他操作时,JavaScript 可以响应这些操作并执行相应的代码。


一、为什么需要 CSS?

  • 当我们只用 HTML 构建网页时,会发现所有的元素都是以一种非常朴素、原始的状态呈现的。文本就是简单的纯文本样式,没有颜色、字体大小的区分,图片也只是按照默认的方式显示,各个元素之间的布局也相对简单和生硬。CSS 的出现,就是为了弥补 HTML 在样式呈现方面的不足

它可以让我们轻松地控制网页中每个元素的外观,包括但不限于以下几个方面:

    1. 字体样式
    1. 颜色与背景
    1. 布局与定位
    1. 边框与装饰

二、CSS的引用

在网页开发中,CSS样式可以通过多种方式被应用到HTML页面中,常见的有行内样式、内部样式和外部样式这三种引用方法

(一)行内样式

  • 行内样式是将CSS代码直接写在HTML标签的style属性中,也被称为内联样式

例子

<h1 style="color:red; font - size:60px;">欢迎来到我的博客</h1>

(二)内部样式

  • 内部样式是将所有的CSS代码提取出来,放在HTML页面内部的

例子

<style>
h1 {
    color: red;
    font - size: 40px;
}
</style>
color:red;表示设置字体颜色为红色
font - size:60px;表示设置字体大小为60像素

(三)外部样式

  • 外部样式是将CSS代码写在一个单独的.css文件中,然后在HTML文件中引入该.css文件来应用样式
  • CSS文件
h1 {
    color: red;
    font - size: 40px;
}
  • 然后,在HTML文件中使用<link>标签引入这个.css文件:
  • HTML文件
<head>
    <link rel="stylesheet" href="styles.css">
</head>


(四)样式表的优先级

在这里插入图片描述

  • 在网页开发中,当存在多种样式表引用方式时就需要了解样式表的优先级规则,以确定最终应用到 HTML 元素上的样式
  • 总体规则是行内样式 > 内部样式 = 外部样式。这意味着当一个元素同时受到行内样式、内部样式和外部样式影响时,行内样式具有最高的优先级,会优先被应用。而内部样式和外部样式在优先级上是相同的

三、CSS语法规范

  • CSS语法规范由两部分构成:选择器声明块

在这里插入图片描述

(一)选择器

选择器的主要作用是找到要添加样式的元素

例子(后面会详细讲)

1.元素选择器

这是最基本的选择器类型,直接使用HTML元素的名称作为选择器。例如,h1就是一个元素选择器,它会选择页面中所有的<h1>元素

h1 {
  color: green;
  font - size: 40px;
}

2.类选择器

类选择器允许我们给特定的一组元素添加相同的样式,而这些元素不一定是同一种HTML元素。它通过在HTML元素中添加一个class属性来标识,然后在CSS中通过.加上类名来选择这些元素

<p class="highlight">这是一段需要突出显示的段落。</p>
<div class="highlight">这是一个需要突出显示的div元素。</div>

3.ID选择器

ID选择器用于选中具有特定ID的唯一元素。在HTML中,每个元素的ID应该是唯一的。它通过在HTML元素中添加一个id属性,然后在CSS中通过#加上ID名来选择该元素

<p id="unique - paragraph">这是一个独一无二的段落。</p>

(二)声明块

声明块用于设置具体的样式,它是由一个或多个声明组成的。声明的格式为:属性名:属性值。

1.属性名和属性值

在CSS中,有许多属性可以用来设置元素的样式,如color(颜色)、font - size(字体大小)、background - color(背景颜色)等。每个属性都有其对应的属性值

  • 例如,color: green中,color是属性名,表示要设置元素的颜色,green是属性值,表示将颜色设置为绿色。
  • 对于多个属性的设置在声明块中用分号;隔开。如{color: green; font - size: 40px;},这里分别设置了颜色为绿色和字体大小为40像素

2.注释的写法

  • CSS中可以添加注释来对样式进行说明,方便自己和其他开发者理解代码。注释的格式是/* 注释内容 */
/* 给h1元素添加样式 */
h1 {
  /* 设置文字颜色为红色 */
  color: red;
  /* 设置文字大小为40px */
  font - size: 40px;
}
CSS的引言到此结束,下一节后面我们会详细讲CSS的选择器内容,喜欢的话记得三连哦

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/920970.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android音频采集

在 Android 开发领域&#xff0c;音频采集是一项非常重要且有趣的功能。它为各种应用程序&#xff0c;如语音聊天、音频录制、多媒体内容创作等提供了基础支持。今天我们就来深入探讨一下 Android 音频采集的两大类型&#xff1a;Mic 音频采集和系统音频采集。 1. Mic音频采集…

数据结构C语言描述4(图文结合)--栈的实现,中序转后序表达式的实现

前言 这个专栏将会用纯C实现常用的数据结构和简单的算法&#xff1b;有C基础即可跟着学习&#xff0c;代码均可运行&#xff1b;准备考研的也可跟着写&#xff0c;个人感觉&#xff0c;如果时间充裕&#xff0c;手写一遍比看书、刷题管用很多&#xff0c;这也是本人采用纯C语言…

数据结构之一:复杂度

相关代码&#xff1a;SData/test_22/main.c Hera_Yc/bit_C_学习 - 码云 - 开源中国 数据结构&#xff1a;在内存当中存储、组织数据的方式。&#xff08;顺序表、链表、栈、队列、树等&#xff09;。 算法&#xff1a;与数据结构配合使用&#xff0c;是对数据的处理。&#…

【鸿蒙技术分享:探索 HarmonyOS 开发之旅】

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

Houdini和Blender如何使用CPU云渲染

近期&#xff0c;渲染101云渲染农场在产品和服务方面进行了重要更新&#xff0c;进一步提升了我们平台的渲染能力和兼容性&#xff0c;助力各位用户高效完成创作。云渲码6666 渲染101云渲码6666 1. Houdini和Blender支持CPU云渲染 我们不断拓展云渲染的工具和平台支持&#x…

02 —— Webpack 修改入口和出口

概念 | webpack 中文文档 | webpack中文文档 | webpack中文网 修改入口 webpack.config.js &#xff08;放在项目根目录下&#xff09; module.exports {//entry设置入口起点的文件路径entry: ./path/to/my/entry/file.js, }; 修改出口 webpack.config.js const path r…

网络编程 作业1

1.c #include <myhead.h> #define IP "192.168.60.45" #define PORT 6666 #define BACKLOG 100 void fun(int sss) {if(sssSIGCHLD){while(waitpid(-1,NULL,0)>0);}} int main(int argc, const char *argv[]) {//1.捕获子进程退出时的信号if(signal(SIGCHL…

【2024亚太杯亚太赛APMCM C题】数学建模竞赛|宠物行业及相关产业的发展分析与策略|建模过程+完整代码论文全解全析

第一个问题是&#xff1a;请基于附件 1 中的数据以及你的团队收集的额外数据&#xff0c;分析过去五年中国宠物行业按宠物类型的发展情况。并分析中国宠物行业发展的因素&#xff0c;预测未来三年中国宠物行业的发展。 第一个问题&#xff1a;分析中国宠物行业按宠物类型的发展…

外排序中的归并排序

外排序中的归并排序 7.11 外排序中的归并排序相关基础知识原理最终参考程序 7.11 外排序中的归并排序 外部排序&#xff1a;数据元素太多不能同时放在内存中&#xff0c;根据排序过程的要求不能在内外存之间移动数据的排序。&#xff08;下文也称外排序&#xff09; 例如 1 G…

wsl2中kali linux下的docker使用教程(教程总结)

一、前言 上一篇关于kali linux的文章是图形界面的配置&#xff0c;这里作者准备补充两点&#xff0c;一点是在使用VNC时&#xff0c;如果F8不能用的话&#xff0c;可以试试AltF8&#xff1b;然后就是VNC在初始化设置时的三个设置选项依次是密码、再输一次以及设置仅观看密码。…

Linux系统使用valgrind分析C++程序内存资源使用情况

内存占用是我们开发的时候需要重点关注的一个问题&#xff0c;我们可以人工根据代码推理出一个消耗内存较大的函数&#xff0c;也可以推理出大概会消耗多少内存&#xff0c;但是这种方法不仅麻烦&#xff0c;而且得到的只是推理的数据&#xff0c;而不是实际的数据。 我们可以…

【通俗理解】ELBO(证据下界)——机器学习中的“情感纽带”

【通俗理解】ELBO&#xff08;证据下界&#xff09;——机器学习中的“情感纽带” 关键词提炼 #ELBO #证据下界 #变分推断 #机器学习 #潜变量模型 #KL散度 #期望 #对数似然 第一节&#xff1a;ELBO的类比与核心概念【尽可能通俗】 ELBO&#xff0c;即证据下界&#xff0c;在…

【pyspark学习从入门到精通14】MLlib_1

目录 包的概览 加载和转换数据 在前文中&#xff0c;我们学习了如何为建模准备数据。在本文中&#xff0c;我们将实际使用这些知识&#xff0c;使用 PySpark 的 MLlib 包构建一个分类模型。 MLlib 代表机器学习库。尽管 MLlib 现在处于维护模式&#xff0c;即它不再积极开发…

业务架构、数据架构、应用架构和技术架构

TOGAF(The Open Group Architecture Framework)是一个广泛应用的企业架构框架&#xff0c;旨在帮助组织高效地进行架构设计和管理。 TOGAF 的核心就是由我们熟知的四大架构领域组成:业务架构、数据架构、应用架构和技术架构。 企业数字化架构设计中的最常见要素是4A 架构。 4…

阿里巴巴官方「SpringCloudAlibaba全彩学习手册」限时开源!

最近我在知乎上看过的一个热门回答&#xff1a; 初级 Java 开发面临的最大瓶颈在于&#xff0c;脱离不出自身业务带来的局限。日常工作中大部分时间在增删改查、写写接口、改改 bug&#xff0c;久而久之就会发现&#xff0c;自己的技术水平跟刚工作时相比没什么进步。 所以我们…

后端数据增删改查基于Springboot+mybatis mysql 时间根据当时时间自动填充,数据库连接查询不一致,mysql数据库连接不好用

目录 后端数据增删改查Springboot 实体&#xff08;entity&#xff09;类引进添加UserMapper接口 创建对用的UserController注意数据库查询不一致新增数据更新删除postman测试 后端数据增删改查 基于之前构建系统&#xff0c;实现用户数据的CRUD。 打开navicat16&#xff0c;…

堆外内存泄露排查经历

优质博文&#xff1a;IT-BLOG-CN 一、问题描述 淘宝后台应用从今年某个时间开始docker oom的量突然变多&#xff0c;确定为堆外内存泄露。 后面继续按照上一篇对外内存分析方法的进行排查(jemalloc、pmap、mallocpmap/mapsNMTjstackgdb)&#xff0c;但都没有定位到问题。至于…

WebSocket详解、WebSocket入门案例

目录 1.1 WebSocket介绍 http协议&#xff1a; webSocket协议&#xff1a; 1.2WebSocket协议&#xff1a; 1.3客户端&#xff08;浏览器&#xff09;实现 1.3.2 WebSocket对象的相关事宜&#xff1a; 1.3.3 WebSOcket方法 1.4 服务端实现 服务端如何接收客户端发送的请…

Vue3 源码解析(三):静态提升

什么是静态提升 Vue3 尚未发布正式版本前&#xff0c;尤大在一次关于 Vue3 的分享中提及了静态提升&#xff0c;当时笔者就对这个亮点产生了好奇&#xff0c;所以在源码阅读时&#xff0c;静态提升也是笔者的一个重点阅读点。 那么什么是静态提升呢&#xff1f;当 Vue 的编译器…

C++优选算法十四 优先级队列(堆)

C 中的优先级队列&#xff08;Priority Queue&#xff09;是一种容器适配器&#xff0c;它提供队列的功能&#xff0c;但元素不是按照插入的顺序被访问&#xff0c;而是根据它们的优先级被访问。默认情况下&#xff0c;优先级队列是一个最大堆&#xff08;Max-Heap&#xff09;…