三种引入CSS的方式

文章目录

    • CSS基础知识
      • 概述
      • CSS的注释
      • CSS的格式
    • 三种引入CSS的方式
      • 内嵌式
      • 外链式
      • 行内式
      • 优先级

CSS基础知识

概述

Cascading Style Sheet 层叠样式表

前端三大基础之一(Html结构 CSS样式 JS动作)

最早由网景公司(Netscape)提出,在1996年受到w3c的认证,发布了第一版,迄今为止已经是第四版,专门用来负责页面的样式 取代了Html同时渲染结构和样式造成的页面混乱。

使用html同时渲染页面样式和结构的弊端:结构样式耦合在一起,浏览器解析困难,可读性差,毫无代码重用性。

CSS的注释

/**/ 这是css的标准注释,不能使用<!-- -->

CSS的格式

CSS通过选择器(selector)机制从全文精确拿取元素,通过设置名值对的方式来设置样式

sel{  
  样式名:样式值;  
  样式名2:样式值2;  
 }

三种引入CSS的方式

准备几个HTML标签用来测试

<body>
	<h2>我是H2标题</h2>
	<hr>
	<a href="#">我是一个链接</a>
	<span id="test">我是一个span标签</span>
	<div class="test">看看我听谁的?</div>
</body>

内嵌式

直接将css代码书写在head标签内,这是一种优缺点都不是 很明显的书写方式,注意style标签只能书写css代码,不能书写html的标签

<head>
		<meta charset="UTF-8">
		<style>
			h2{
				/* 设置字体 */
				font-family:DFPWaWaW5;
				/*
					设置颜色 此处设置矢车菊蓝
				*/
				color:cornflowerblue;
				/*
					设置字体大小
				*/
				font-size:30px;
			}
		</style>		
</head>

运行效果

在这里插入图片描述

外链式

通过link标签引入一个独立的css文件到本页面
rel:表示引入的是一个样式表
href:表示引入css文件的路径
这种设置 css 的方式被普遍使用,实现了代码重用性

<head>
		<meta charset="UTF-8">
		<link rel="stylesheet" href="./css/style.css">
</head>

新建style.css文件

/*
    设置默认的a链接样式
*/
a{
    /* 设置颜色 */
    color:deepskyblue;
    /*
        去掉链接自带的下划线
    */
    text-decoration: none;
}

/*
    通过设置伪类来设置某种状态下a链接的样式
    sel:伪类{

    }
    :hover表示鼠标悬停时的样式
*/
a:hover{
    color:orangered;
    /* 字体加粗 */
    font-weight: bolder;
    /* 添加下划线 */
    text-decoration: underline;
}

/*
    设置被点击之后的链接的样式,注意,只要被点击后就会出现
    此样式,刷新页面无效
*/
a:visited{
    color:#663399;
}

运行效果

在这里插入图片描述

行内式

在标签内直接书写css,这种方式严重违背了解耦结构和样式的原则 将结构和样式再次耦合在一起,但是由于其优先级极高,所以使用较多

background-color:设置背景色;

color:设置字体颜色

<span id="test" style="background-color: pink;color:red">我是一个span标签</span>

运行效果
在这里插入图片描述

优先级

当三种引入方式同时对一个元素进行样式的渲染时,优先级问题

优先级从高到低 行内式> 外链式和内嵌式谁放在后面,会覆盖之前出现冲突得样式

可以自己通过三种方式同时对div标签进行样式渲染,测试下优先级

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

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

相关文章

【51单片机系列】单片机与PC进行串行通信

一、单片机与PC机串行通信的设计 工业现场的测控系统中&#xff0c;常使用单片机进行监测点的数据采集&#xff0c;然后单片机通过串口与PC通信&#xff0c;把采集的数据串行传送到PC机上&#xff0c;再在PC机上进行数据处理。 PC机配置的都是RS-232标准串口&#xff0c;为D型…

1.15io网络

子网掩码 1.由于对于一个网络下面的主机号还是很庞大&#xff0c;为了进一步划分网络&#xff0c;我们可以将主机号再次进行划分为两部分&#xff0c;分别是网段号和主机号 2.此时就引入的子网掩码的概念 3. 在引入子网掩码后&#xff0c;IP 网络号 子网号 主机号 4.子网…

DataX数据同步(全量)

1. DataX简介 1.1 DataX概述 DataX 是阿里巴巴开源的一个异构数据源离线同步工具&#xff0c;致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 源码地址&#xff1a;https://github.com/alibaba/Dat…

第十讲 单片机驱动彩色液晶屏 控制RA8889软件:图像运算

单片机驱动TFT彩色液晶屏系列讲座 目录 第一讲 单片机最小系统STM32F103C6T6通过RA8889驱动彩色液晶屏播放视频 第二讲 单片机最小系统STM32F103C6T6控制RA8889驱动彩色液晶屏硬件框架 第三讲 单片机驱动彩色液晶屏 控制RA8889软件:如何初始化 第四讲 单片机驱动彩色液晶屏 控…

【设计模式之美】重构(三)之解耦方法论:如何通过封装、抽象、模块化、中间层等解耦代码?

文章目录 一. “解耦”概述二. 如何给代码“解耦”&#xff1f;1. 封装与抽象2. 中间层2.1. 引入中间层能**简化模块或类之间的依赖关系**。2.2. 引入中间层可以起到过渡的作用&#xff0c;能够让开发和重构同步进行&#xff0c;不互相干扰。 3. 模块化4. 其他设计思想和原则4.…

[我的Rust库更新]get_local_info 0.2.3

今天收到西安城市开发者社区的文章收录通知&#xff0c;谢谢社区的肯定。 随即发布0.2.3版本&#xff0c;增加峰值算法。 get_local_info是一个获取linux本地信息的Rust三方库&#xff0c;其目标是降低获取本地linux系统信息的难度。支持银河麒麟10、UOS、鸿蒙等国产系统。 项…

力扣hot100 只出现一次的数字 位运算

Problem: 136. 只出现一次的数字 文章目录 思路复杂度Code 思路 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) Code class Solution {public int singleNumber(int[] nums) {int res 0;for(int x : nums)res ^ x;return res;} }

C#编程-使用反射检索元数据

使用反射检索元数据 术语反射通常用来指镜像。如果您站在镜子面前,镜子会反射出您的所有物理属性,如:您的身高、肤色和身体结构。在C#中也一样,反射被用于反射程序有关的所有信息。C#程序可以利用反射获得类在运行时的信息。 反射在运行时获取类型信息的过程中被使用。提…

C技能树-学习笔记(1-2)C语言概述和数据类型

参考&#xff1a;https://edu.csdn.net/skill/c 1、输出 “Hello, World!” 字符串&#xff0c;请选出错误答案。 2、错误的print函数。 for … in …&#xff1a;是python的语法&#xff0c;C语言的写法是for (;&#x1f609; 3、C标准 没有C19标准。 4、了解C编译管道 …

实战whisper:本地化部署通用语音识别模型

前言 Whisper 是一种通用语音识别模型。它是在大量不同音频数据集上进行训练的&#xff0c;也是一个多任务模型&#xff0c;可以执行多语言语音识别、语音翻译和语言识别。 这里呢&#xff0c;我将给出我的一些代码&#xff0c;来帮助你尽快实现【语音转文字】的服务部署。 以下…

3.3.3 使用集线器的星形拓扑

3.3.3 使用集线器的星形拓扑 集线器的一些特点 3.3.4 以太网的信道利用率 多个站在以太网上同时工作就可能会发生碰撞当发生碰撞时&#xff0c;信道资源实际上是被浪费了。因此&#xff0c;当扣除碰撞所造成的信道损失后&#xff0c;以太网总的信道利用率并不能达到100% 3.…

星图地球——Landsat5_C2_SR_T1数据集

数据简介&#xff1a; Landsat5_C2_SR数据集是经大气校正后的地表反射率数据&#xff0c;属于Collection2的二级数据产品&#xff0c;空间分辨率为30米&#xff0c;基于Landsat生态系统扰动自适应处理系统(LEDAPS)(版本3.4.0)生成。水汽、臭氧、大气高度、气溶胶光学厚度、数字…

github访问不了解决方法

github突然无法访问&#xff0c;解决办法如下&#xff1a; 1、首先通过网址GitHub.com - GitHub: Lets build from here GitHub查看当前github.com对应的IP地址&#xff0c;查到的信息如下图所示 2、修改hosts文件&#xff0c;windows系统下修改 C:\Windows\System32\driver…

关于前端面试中forEach方法的灵魂7问?

目录 前言 一、forEach方法支持处理异步函数吗&#xff1f; 二、forEach方法在循环过程中能中断吗&#xff1f; 三、forEach 在删除自己的元素后能重置索引吗&#xff1f; 四、forEach 的性能相比for循环哪个好&#xff1f; 五、使用 forEach 会不会改变原来的数组&#…

步进电机基本原理详解

步进电机基本原理 步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机。 区别于以电压或电流作为控制信号&#xff0c;被控制量是转速的电动机。 每输入一个脉冲信号&#xff0c;转子就转动一个角度或前进一步&#xff0c;其输出的角位移或线位移与输入的脉冲数成正…

electron+vue项目使用serialport报错Cannot read property ‘indexOf‘ of undefined解决办法

描述 使用ElectronVue项目时引入serialport串口后启动时报下面错误 Cannot read property indexOf of undefined解决方法 打开vue.config.js找到pluginOptions -> electronBuilder -> externals添加serialport module.exports {pluginOptions: {electronBuilder: {e…

SAP中采购文档价格条件可以删除吗?

首先要声名&#xff0c;基于采购价格条件的严谨性和历史追朔需求&#xff0c;删除属于危险操作。不建议普通用户去执行操作。如果有兴趣&#xff0c;在测试系统中自行测试一下即可。正式系统中&#xff0c;还请慎重处理。 笔者公司日常不会去删除采购价格&#xff0c;日常处理…

网络共享服务

存储类型&#xff1a;直连式&#xff08;DAS&#xff09;:距离最近&#xff0c;存储设备且直接连接到服务器上 存储区域网络&#xff08;SAN&#xff09;&#xff1a;适用于大型应用或数据库系统&#xff0c;可以使用文件的空间&#xff0c; 以及管理空间…

【发票识别】支持pdf、ofd、图片格式(orc、信息提取)的发票

背景 为了能够满足识别各种发票的功能&#xff0c;特地开发了当前发票识别的功能&#xff0c;当前的功能支持pdf、ofd、图片格式的发票识别&#xff0c;使用到的技术包括文本提取匹配、ocr识别和信息提取等相关的技术&#xff0c;用到机器学习和深度学习的相关技术。 体验 体…

【蓝桥杯日记】第二篇——递归问题的处理

目录 前言 递归 递归解决的问题 递归的三要素 递归的练习&#xff08;由浅入深&#xff09; 1.循环改为递归 2.斐波那契 3.汉诺塔问题 总结 前言 大家好呀&#xff01;我是大雄&#xff01;一个菜鸡&#xff01;接下来的几个月和大家分享一下自己在备战蓝桥中遇到的…