web前端学习笔记2

2. 网页穿上美丽外衣

2.1 什么是CSS

  • CSS (Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,CSS 文件扩展名为 .css。

  • CSS样式包括对字体、颜色、边距、高度、宽度、背景图片、网页定位等设定

  • CSS文件如下图:

2.1.1 CSS的发展史
2.1.2 CSS的优势
  • 分离内容和样式

    CSS允许将网页内容与其样式分离,这使得网站维护更为简单,同时提高了页面加载速度和搜索引擎优化。

  • 样式重用

    CSS允许通过类和ID选择器对样式进行重用,这意味着可以轻松地对整个网站或其特定部分应用一致的样式。

2.2 CSS的基本语法

2.2.1 CSS基本语法结构
选择器{
	样式声明1;
	样式声明2;
	...
}

​ 如上图所示,h1是选择器会找到页面中所有的h1标签,font-size:12px;声明字体大小样式为12像素,color:#F00;声明文本颜色样式。在css样式声明中,最后一个样式声明的分号可以省略,但不建议省略。

2.2.2 style标签

​ 知道声明css样式的语法后,那么样式应该写在页面的哪里呢?页面内部的样式可以在style标签中进行声明,如下:

<style type="text/css">
h1 {
     
	font-size:12px;
	color:#F00;
}
</style>

​ style标签一般在页面中是不显示的,所有建议把style标签放到head标签中。此时就可以对页面中的h1标签设置样式了。

2.3 引入CSS样式

2.3.1 行内样式
  • 在元素的开始标签中使用style属性引入CSS样式,称行内样式。
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>行内样式</title>
  </head>
  <body>
    <!-- 行内样式:是定义在开始标签属性style中的样式,优先级比较高,是就近原则 -->
    <h3 style="color: blue; font-size: 16px">
      美订单什么时候发货?大概多长时间可以收到货?
    </h3>
    <p style="color: #666">
      正常情况下您的订单将在6小时内发出(最晚不超过1个工作日)。8月1日的订单,将在3日内全部发出。发货之后,您可以在我的订单中可以查看发货状态。由于快递公司可能无法实时更新信息,因此您看到的发货情况可能有一定延迟。
    </p>
  </body>
</html>
  • 效果图如下:

2.3.2 内部样式
  • CSS代码写在<head>的<style>标签中
  • 优点:方便在同页面中修改样式
  • 缺点:不利于在多页面间共享复用代码及维护,对内容与样式的分离也不够彻底
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>内部样式</title>
    <!--
      内部样式:样式表声明在html内部的style标签中
      style可以放在页面的任何位置,建议放在head中
    -->
    <style>
      /* h3是选择器,找到页面中所有的h3元素 */
      h3 {
     
        /* 样式声明,样式属性color值为blue */
        color: blue;
        font-size: 16px;
      }
    </style>
  </head>
  <body>
    <h3>美订单什么时候发货?大概多长时间可以收到货?</h3>
    <p>
      正常情况下您的订单将在6小时内发出(最晚不超过1个工作日)。8月1日的订单,将在3日内全部发出。发货之后,您可以在我的订单中可以查看发货状态。由于快递公司可能无法实时更新信息,因此您看到的发货情况可能有一定延迟。
    </p>
  </body>
</html>
  • 效果图如下

2.3.3 外部样式
  • 外部样式顾名思义,样式定义的位置不在html页面中,CSS代码保存在扩展名为.css的外部样式表中
  • HTML文件可以引用扩展名为.css的样式表,主要有2种方式:
    • 链接式 使用link标签
    • 导入式 使用 @import 在css文件或style标签中引入
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>外部样式</title>
    <!-- 0. 外部样式: 定义在html外部.css文件中样式表 -->
    <!-- 1. 使用link引入外部样式,是html的语法 -->
    <link rel="stylesheet" href="css/demo3.css" type="text/css" />
    <!-- 2. 使用css2的 @import url(外部文件的地址) 语法引入外部样式 -->
    <!-- <style>
      @import url("css/demo3.css");
    </style> -->
    <!-- 3. 行内,内部,外部样式三种方式设置样式,推荐使用外部样式,外部样式推荐使用link标签引入 -->
  </head>
  <body>
    <h3>美订单什么时候发货?大概多长时间可以收到货?</h3>
    <p>
      正常情况下您的订单将在6小时内发出(最晚不超过1个工作日)。8月1日的订单,将在3日内全部发出。发货之后,您可以在我的订单中可以查看发货状态。由于快递公司可能无法实时更新信息,因此您看到的发货情况可能有一定延迟。
    </p>
  </body>
</html>
  • 下面是css/demo3.css文件内容
h3 {
   
  color: red;
  font-size: 18px;
}

p {
   
  color: #777;
}
  • 效果图如下

2.3.4 链接式与导入式的区别
  • link引入外部样式时,使用的是html标签,用的是html的语法,@import引入外部样式时,使用的是css的语法
  • 所有的浏览器都可以执行link标签,然而@import是css2.1的语法,所有只有支持css2.1的浏览器才能使用@import方式导入样式。
  • link方式先导入css样式,再编译显示,页面加载完就会有样式,不会看到没有样式的html页面效果
  • @import方式导入css样式,页面先显示html结构,再编译样式
2.3.5 CSS样式优先级
  1. 行内样式比外部和内部样式都高,遵循就近原则
  2. 内部和外部样式,后加载样式会覆盖前面的样式
  3. 如果外部有内部和行内没有声明的样式,样式会有叠加效果。
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>三种样式优先级</title>
    <!-- 外部样式 -->
    <link rel="stylesheet" href="css/demo4.css" />
    <!-- 内部样式 -->
    <style>
      h3 {
     
        color: blue;
        font-size: 26px;
      }
    </style>
  </head>
  <body>
    <!-- 行内样式 -->
    <h3>
      <!-- <h3 style="color: red; font-size: 16px"> -->
      美订单什么时候发货?大概多长时间可以收到货?
    </h3>
    <p>
      正常情况下您的订单将在6小时内发出(最晚不超过1个工作日)。8月1日的订单,将在3日内全部发出。发货之后,您可以在我的订单中可以查看发货状态。由于快递公司可能无法实时更新信息,因此您看到的发货情况可能有一定延迟。
    </p>
  </body>
</html>
<!--
  结论:
    1. 行内样式比外部和内部样式都高,遵循就近原则
    2. 内部和外部样式,后加载样式会覆盖前面的样式
    3. 如果外部有内部和行内没有声明的样式,会叠加样式声明。
 -->
  • 外部样式css/demo4.css内容如下:
h3 {
   
  color: green;
  font-size: 36px;
  border: 1px solid #000;
}
  • 效果图如下:

  • h3有行内样式时的效果:
<h3 style="color: red; font-size: 16px">
	美订单什么时候发货?大概多长时间可以收到货?
</h3>

2.4 CSS基本选择器

2.4.1 标签选择器

​ HTML标签作为标签选择器的名称,如:body, div, p, a, img…

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>标签选择器</title>
    <!-- 为了课堂演示方便使用内部样式, 作业,项目统统使用外部样式 -->
    <style>
      h3 {
     
        color: #090;
      }
      p {
     
        color: red;
      }
    </style>
  </head>
  <body>
    <h3>北京欢迎你</h3>
    <p>北京欢迎你,有梦想谁都了不起!</p>
    <p>有勇气就会有奇迹。</p>
  </body>
</html>
  • 效果图如下:

2.4.2 类选择器

​ 在开始标签中定义class=“值”,通过 class的值作为选择器称类选择器。

  • 案例代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>类选择器</title>
    <!-- 为了课堂演示方便使用内部样式, 作业,项目统统使用外部样式 -->
    <style>
      h3 {
     
        color: #090;
      }
      p {
     
        color: red;
      }
      /* 类选择器 */
      .green {
     
        font-size: 20px;
        color: green;
      }
    </style>
  </head>
  <body>
    <h3>北京欢迎你</h3>
    <p>北京欢迎你,有梦想谁都了不起!</p>
    <p class="green">有勇气就会有奇迹。</p>
  </body>
</html>
  • 效果图

2.4.3 ID选择器

​ 在开始标签中定义id=“值”,使用id的值作为选择器。

  • 案例代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>ID选择器</title>
    <style>
      #first {
     
        font-size: 18px;
        color: red;
      }
      #second {
     
        font-size: 28px;
        color: blue;
      }
    </style>
  </head>
  <body>
    <h1>北京欢迎你</h1>
    <p id="first">北京欢迎你,有梦想谁都了不起!</p>
    <p id="second">有勇气就会有奇迹。</p>
    <p>北京欢迎你,为你开天辟地</p>
    <p>流动中的魅力充满朝气。</p>
  </body>
</html>
  • 效果图如下

2.4.4 基本选择器的优先级
  • 基本选择器的优先级不遵循就近原则

  • !important > 行内样式 > id选择器 > class选择器 > tag选择器

  • 代码

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta
          name="viewport"
          content="

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

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

相关文章

4.8 Python dict字典

Python dict字典详解 Python字典&#xff08;dict&#xff09;是一种无序的、可变的序列&#xff0c;它的元素以“键值对&#xff08;key-value&#xff09;”的形式存储。相对地&#xff0c;列表&#xff08;list&#xff09;和元组&#xff08;tuple&#xff09;都是有序的序…

Python中ArcPy按照分幅条带与成像日期拼接每个8天间隔内的遥感影像

本文介绍基于Python中的ArcPy模块&#xff0c;将大量遥感影像文件按照分幅条带编号与成像时间加以分组&#xff0c;并将同一分幅的遥感影像加以每个8天时间间隔内的镶嵌拼接的方法。 首先&#xff0c;来看一下本文具体的需求。我们现有一个文件夹&#xff0c;其中含有大量的.ti…

配置有效的防爬虫技术保护网站

本文主要介绍了防爬虫的概念、目的以及一些有效的防爬虫手段。防爬虫是指网站采取各种技术手段阻止爬虫程序对其数据进行抓取的过程。为了保护网站的数据和内容的安全性&#xff0c;防止经济损失和恶意竞争&#xff0c;以及减轻服务器负载&#xff0c;网站需要采取防爬虫机制。…

NIKKE胜利女神妮姬1.5周年(PC)怎么注册?账号注册教程一看就懂

游戏的世界观了一些轻科幻、末世和废土背景&#xff0c;剧情中也探讨了一些深刻的主题&#xff0c;比如NIKKE的人权问题。虽然整体剧情表现得连贯&#xff0c;但本质上有一些俗套情节&#xff0c;特别是在序章的玛丽安之死后&#xff0c;剧情逐渐失去了原有的紧张感&#xff0c…

那些你不知道的数据库知识:行式存储和列式存储

前几天听课&#xff0c;听到老师讲数据列式存储。 我&#x1f64b;&#x1f3fb;‍♀️&#xff1a;等等&#xff0c;what&#xff0c;什么列式存储&#xff0c;数据一行一行的展示&#xff0c;然后一行一行的存在数据库里面不就好了&#xff0c;什么叫做列式存储&#xff0c;…

rust中结构体的属性默认是不能修改的,要想修改可以有两种方式

Rust中结构体里面的属性默认是不支持修改的&#xff0c;而且默认不是pub的&#xff0c;要想修改的话&#xff0c;有两种方式&#xff0c;我以为和python里面的类似呢&#xff0c;但是还是需要一点技术含量的。如果想在引到外部修改&#xff0c;需要声明pub&#xff0c;如果想在…

专利视角下的量子竞赛:《2024全球专利格局白皮书》

2024年1月&#xff0c;欧洲量子产业联盟&#xff08;QuIC&#xff09;发布了题为《全球量子技术专利格局描述》的综合白皮书。 该文件以透明的视角展示了当今的知识产权格局&#xff0c;包括知识产权持有人的地理分布。该文件由 QuIC 知识产权&#xff08;IP&#xff09;与贸易…

【C++】图的存储 -- 邻接表

目录 邻接表的创建使用dfs遍历图dfs遍历图的递归思想 邻接表的创建 #include <iostream> using namespace std; #include <vector>struct edge//创建边集类型 {int v;//出边int w;//权值 }; const int N 100010;//顶点数量 vector<edge> e[N];//邻接表int m…

淘宝新店有流量扶持吗

淘宝新店有流量扶持 淘宝新店需要做些推广提高店铺权重 淘宝新店用3an推客做推广比较好 3an推客是给商家提供的营销工具&#xff0c;3an推客CPS推广模式由商家自主设置佣金比例&#xff0c;以及设置商品优惠券&#xff0c;激励推广者去帮助商家推广商品链接&#xff0c;按最…

初步认识泛型

文章目录 泛型的编译擦除机制 泛型的上界泛型方法 泛型的编译 擦除机制 泛型到底是怎么编译的&#xff1f;这个问题&#xff0c;也是曾经的一个面试问题。泛型本质是非常难的语法 通过命令&#xff1a;javap -c 查看字节码文件&#xff0c;所有的T都是Object。 在编译的过程当…

“量子谷”启程!数亿资金注入,加速量子、人工智能创新

2024年4月23日&#xff0c;欧洲委员会启动了新一轮“地平线欧洲”&#xff08;Horizon Europe&#xff09;项目征集&#xff0c;动用资金总额超过1.12亿欧元&#xff08;约8.67亿人民币&#xff09;。此次征集活动主要面向人工智能&#xff08;AI&#xff09;与量子技术领域的前…

面试:JVM垃圾回收

一、三种垃圾回收算法 1、标记清除&#xff08;已废弃&#xff09; 找到根对象&#xff08;局部变量正在引用的对象、静态变量正在引用的对象&#xff09;&#xff1b;沿着根对象的引用链&#xff0c;查看当前的对象是否被根对象所引用&#xff0c;若被引用&#xff0c;则加上…

redis和mysql数据一致性方案

请求 A 更新数据 请求B读数据 在高并发情况下&#xff0c;A、B请求过程步骤相互穿插&#xff0c;就会出现图中的问题。 期望redis 的数据是11&#xff0c;最后变成了10 场景&#xff1a;先删除Redis&#xff0c;再更新 MySQL&#xff0c;不主动更新Redis&#xff0c;访问redi…

软件企业质量保证的基石――QA,QC的良性协作

软件企业质量保证的基石――QA、QC的良性协作 国内的软件产业发展了20多年的时间&#xff0c;已经由个人英雄时代步入到中、小团队协作时代。相信不久的将来&#xff0c;国内一定会出现航母级的软件企业&#xff0c;那时候我们会迎来集团军作战的时代。不同的时代表明软件规模…

【AI相关】数学和统计学知识

数学和统计学的知识可以分为两部分&#xff1a; 一部分是线性代数中的基础概念&#xff0c;比如标量、向量和张量。 另一部分是概率统计中常见的分布类型&#xff0c;比如正态分布和伯努利分布。 线性代数 什么是标量&#xff1f; 标量是一个单独的数&#xff0c;可以是整…

PLC基本原理及其接线

目录&#xff1a; 一、PLC的简介与起源 二、PLC的基本结构 1、MCU模块 2、输入与输出模块 3、电源模块 4、编程设备 三、PLC的外部接线 1、PNP与NPN接线 2、三菱PLC的NPN与PNP设置 下续&#xff1a;三菱FX系列PLC-编程1 一、PLC的简介与起源 1、PLC简介 PLC的全称为…

Prompt之美:如何设计提示词让大模型变“聪明”

目录 一. Prompt关键要素 二. Prompt技巧 三. 实战中的Prompt优化 四. 参考文献 一. Prompt关键要素 Prompt是一个简短的文本输入&#xff0c;用于引导AI模型生成特定的回答或执行特定任务。换句话说&#xff0c;Prompt是你与AI模型沟通的方式。一个好的Prompt可以让AI更准…

猫头虎分享已解决Bug || **Error: ‘Promise‘ is undefined**

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

【SpringBoot】00 Maven配置及创建项目

一、Maven配置 1、下载Maven 进入官网下载&#xff1a;Maven – Welcome to Apache MavenMaven – Download Apache Maven 本文以最新版为例&#xff0c;可按需选择版本 Maven – Welcome to Apache Maven 2、解压下载好的安装包 将安装包解压到自己设置的空文件夹中 3、…

抽象的代理模式1.0版本

前言&#xff1a; 在阅读Spring Security官方文档时&#xff0c;里面设计到了一种设计模式——代理模式Proxy 众里寻她千百度&#xff0c;蓦然回首&#xff0c;那人却在灯火阑珊处 开始 在之前的文章里陈述了一个观点——编程语言和语言没有区别 现看看我们日常生活中的代理…