Html引入外部css <link>标签 @import
Html引入外部css
方法1: <link rel="stylesheet" href="x.css">
<link rel="stylesheet" href="x.css" />
<link rel="stylesheet" href="x.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="x.css" />
<link href="./xxx.css" rel="stylesheet" />
<link href="./xxx.css" rel="stylesheet" type="text/css" />
type=“text/css” 可以不写
方法2: @import
@import url("./xxx.css");
@import 要写在 <style> 标签内
<style type="text/css"> @import url("./xxx.css"); </style>
type=“text/css” 可以不写
<style> @import url("./xxx.css"); </style>
可以用单引号
<style> @import url('./xxx.css'); </style>
也可以不要引号
<style> @import url(./xxx.css); </style>
还可以和css写在一起(在同一个style标签内), 但@import必须写在开头, 必须在css之前, 否则无效
<style>@import url(./xxx.css);body>header{color:goldenrod; font-size:66px;}
</style>
👆会生效(chrome110), 写在css后面不会有效果 , 👇不会生效(chrome110)
<style>body>header{color:goldenrod; font-size:66px;}@import url(./xxx.css);
</style> 写在css后面不会有效果
对比 link 和 @import url()
1、link属于html标签,而@import是css提供的,只能加载CSS
2、加载顺序,link在页面加载时被加载,@import在页面加载完之后再加载
3、link是html标签,因此没有兼容性,而@import只有IE5以上才能识别
4、link是可以通过 JS 操作 DOM ,插入link标签来改变样式;由于 DOM 方法是基于文档的,无法使
差别 1:
本质的差别:link 属于 XHTML 标签,而 @import 完全是 CSS 提供的一种方式。
差别 2:
加载顺序的差别: 当一个页面被加载的时候(就是被浏览者浏览的时候) ,link 引用的 CSS 会同时被加载,而 @import 引用的 CSS 会等到页面全部被下载完再被加载。所以有时候浏览 @import 加载 CSS 的页面时开始会没有样式(就是闪烁),网速慢的时候还挺明显。
差别 3:
兼容性的差别: @import 是 CSS2.1 提出的,所以老的浏览器不支持,@import 只有在 IE5 以上的才能识别,而 link 标签无此问题。
差别 4:
使用 dom(document object model文档对象模型 )控制样式时的差别:当使用 javascript 控制 dom 去改变样式的时候,只能使用 link 标签,因为@import 不是 dom 可以控制的。
link标签的 rel 属性
<link rel="value"> : rel是Relations的缩写,大概是关联关系的意思
除了本次用到的stylesheet, 其它可选值还有
| 值 | 描述 |
|---|---|
| alternate | 链接到该文档的替代版本(比如打印页、翻译或镜像)。 |
| author | 链接到该文档的作者。 |
| help | 链接到帮助文档。 |
| icon | 导入表示该文档的图标。 |
| license | 链接到该文档的版权信息。 |
| next | 表示该文档是集合中的一部分,且集合中的下一个文档是被引用的文档。 |
| prefetch | 规定应该对目标资源进行缓存。 |
| prev | 表示该文档是集合中的一部分,且集合中的上一个文档是被引用的文档。 |
| search | 链接到针对文档的搜索工具。 |
| stylesheet | 要导入的样式表的 URL。 |
https://www.runoob.com/tags/att-link-rel.html
https://www.w3school.com.cn/tags/att_link_rel.asp
| 值 | 描述 |
|---|---|
| alternate | 文档的替代版本(比如打印页、翻译或镜像)。 |
| stylesheet | 文档的外部样式表。 |
| start | 集合中的第一个文档。 |
| next | 集合中的下一个文档。 |
| prev | 集合中的上一个文档。 |
| contents | 文档的目录。 |
| index | 文档的索引。 |
| glossary | 在文档中使用的词汇的术语表(解释)。 |
| copyright | 包含版权信息的文档。 |
| chapter | 文档的章。 |
| section | 文档的节。 |
| subsection | 文档的小节。 |
| appendix | 文档的附录。 |
| help | 帮助文档。 |
| bookmark | 相关文档。 |
相关文章:
Html引入外部css <link>标签 @import
Html引入外部css 方法1: <link rel"stylesheet" href"x.css"> <link rel"stylesheet" href"x.css" /><link rel"stylesheet" href"x.css" type"text/css" /><link rel"sty…...
React源码分析8-状态更新的优先级机制
这是我的剖析 React 源码的第二篇文章,如果你没有阅读过之前的文章,请务必先阅读一下 第一篇文章 中提到的一些注意事项,能帮助你更好地阅读源码。 文章相关资料 React 16.8.6 源码中文注释,这个链接是文章的核心,文…...
如何在ChatGPT的API中支持多轮对话
一、问题 ChatGPT的API支持多轮对话。可以使用API将用户的输入发送到ChatGPT模型中,然后将模型生成的响应返回给用户,从而实现多轮对话。可以在每个轮次中保留用户之前的输入和模型生成的响应,以便将其传递给下一轮对话。这种方式可以实现更…...
华为OD机试模拟题 用 C++ 实现 - 猜字谜(2023.Q1)
最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明猜字谜题目输入输出描述备注示例一输入输出示例二输入输出思路Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,...
Containerd容器运行时将会替换Docker?
文章目录一、什么是Containerd?二、Containerd有哪些功能?三、Containerd与Docker的区别四、Containerd是否会替换Docker?五、Containerd安装、部署和使用公众号: MCNU云原生,欢迎微信搜索关注,更多干货&am…...
java虚拟机中对象创建过程
java虚拟机中对象创建过程 我们平常创建一个对象,仅仅只是使用new关键字new一个对象,这样一个对象就被创建了,但是在我们使用new关键字创建对象的时候,在java虚拟机中一个对象是如何从无到有被创建的呢,我们接下来就来…...
3485. 最大异或和
Powered by:NEFU AB-IN Link 文章目录3485. 最大异或和题意思路代码3485. 最大异或和 题意 给定一个非负整数数列 a,初始长度为 N。 请在所有长度不超过 M的连续子数组中,找出子数组异或和的最大值。 子数组的异或和即为子数组中所有元素按位异或得到的…...
SpringBoot:SpringBoot配置文件.properties、.yml 和 .ymal(2)
SpringBoot配置文件1. 配置文件格式1.1 application.properties配置文件1.2 application.yml配置文件1.3 application.yaml配置文件1.4 三种配置文件优先级和区别2. yaml格式2.1 语法规则2.2 yaml书写2.2.1 字面量:单个的、不可拆分的值2.2.2 数组:一组按…...
QT 学习之QPA
QT 为实现支持多平台,实现如下类虚函数 Class Overview QPlatformIntegration QAbstractEventDispatcherQPlatformAccessibilityQPlatformBackingStoreQPlatformClipboardQPlatformCursorQPlatformDragQPlatformFontDatabaseQPlatformGraphicsBufferQPlatformInput…...
Pytorch中FLOPs和Params计算
文章目录一. 含义二. 使用thop库计算FLOPs和Params三. 注意四. 相关链接一. 含义 FLOPs(计算量):注意s小写,是floating point operations的缩写(这里的小s则表示复数),表示浮点运算数ÿ…...
DP1621国产LCD驱动芯片兼容替代HT1621B
目录DP1621简介DP1621芯片特性DP1621简介 DP1621是点阵式存储映射的LCD驱动器芯片,可支持最大128点(32SEG * 4COM)的 LCD屏,也支持2COM和3COM的LCD屏。单片机可通过3/4个通信脚配置显示参数和发送显示数据,也可通过指…...
Linux 用户管理
用户管理 useradd新增用户 格式:useradd [参数] 用户名称 常用参数: -c comment 指定一段注释性描述。 -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。 -g 用户组 指定用户所属的用户组…...
前端vue面试题(持续更新中)
vue-router中如何保护路由 分析 路由保护在应用开发过程中非常重要,几乎每个应用都要做各种路由权限管理,因此相当考察使用者基本功。 体验 全局守卫: const router createRouter({ ... }) router.beforeEach((to, from) > {// .…...
Java查漏补缺-从入门到精通汇总
Java查漏补缺(01)计算机的硬件与软件、软件相关介绍、计算机编程语言、Java语言概述、Java开发环境搭建、Java开发工具、注释、API文档、JVM Java查漏补缺(02)关键字、标识符、变量、基本数据类型介绍、基本数据类型变量间运算规…...
软件测试2年半的我,谈谈自己的理解...
软件测试两年半的我,谈谈自己的理解从2020年7月毕业,就成为一名测试仔。日子混了一鲲年,感觉需要好好梳理一下自己的职业道路了,回顾与总结下吧。一、测试的定位做事嘛,搞清楚自己的定位很重要。要搞清楚自己的定位&am…...
什么是SAS硬盘
什么是SAS硬盘SAS是新一代的SCSI技术,和Serial ATA(SATA)硬盘都是采用串行技术,以获得更高的传输速度,并通过缩短连结线改善内部空间等。SAS是并行SCSI接口之后开发出的全新接口。此接口的设计是为了改善存储系统的效能、可用性和扩充性&…...
一文理解服务端渲染SSR的原理,附实战基于vite和webpack打造React和Vue的SSR开发环境
SSR和CSR 首先,我们先要了解什么是SSR和CSR,SSR是服务端渲染,CSR是客户端渲染,服务端渲染是指 HTTP 服务器直接根据用户的请求,获取数据,生成完整的 HTML 页面返回给客户端(浏览器)展…...
Matlab 实用小函数汇总
文章目录Part.I 元胞相关Chap.I 创建空 char 型元胞Part.II 矩阵相关Chap.I 矩阵插入元素Part.III 字符串相关Chap.I 获取一个文件夹下所有文件的文件名的部分内容Part.IV 结构体相关Chap.I 读取结构体Chap.II 取结构体中某一字段的所有值本篇博文记录一些笔者使用 Matlab 时&a…...
Echarts 仪表盘倾斜一定角度显示,非中间对称
第024个点击查看专栏目录大多数的情况下,制作的仪表盘都是中规中矩,横向中间对称,但是生活中的汽车,摩托车等仪表盘确是要倾斜一定角度的,Echarts中我们就模拟一个带有倾斜角度的仪表盘。核心代码见示例源代码 文章目录…...
Vue中如何利用websocket实现实时通讯
首先我们可以先做一个简单的例子来学习一下简单的websocket模拟聊天对话的功能 原理很简单,有点像VUE中的EventBus,用emit和on传来传去 首先我们可以先去自己去用node搭建一个本地服务器 步骤如下 1.新建一个app.js,然后创建pagejson.js文…...
【stata】高效数据清洗:变量生成、虚拟变量与分组策略实战
1. 变量生成:从基础操作到高级技巧 数据清洗的第一步往往是从变量生成开始的。在Stata中,generate命令就像一把瑞士军刀,能帮你快速创建新变量。我经常看到新手直接复制粘贴代码,却不知道背后的逻辑,这里分享几个实战…...
Emulation框架:嵌入式C++单元测试的原生硬件模拟方案
1. Emulation 框架概述:面向嵌入式开发的原生级硬件模拟与单元测试基础设施Emulation 是一个专为 PlatformIO 生态设计的轻量级、可扩展的硬件模拟框架,其核心目标是在本地开发机(x86/x64)上原生运行 Unity 单元测试,无…...
手把手教你配置i.MX8MQ的SPI设备树节点:从DTS到驱动匹配的完整流程
i.MX8MQ SPI设备树配置实战:从引脚复用到底层驱动全解析 在嵌入式Linux开发中,SPI总线因其高速、全双工的特性,常被用于连接Flash存储器、触摸屏、传感器等外设。i.MX8MQ作为NXP旗舰级应用处理器,其灵活的引脚复用功能和强大的SPI…...
2026更新版!9个AI论文网站测评:本科生毕业论文写作必备工具推荐
在2026年,随着AI技术的不断迭代与学术写作需求的日益增长,越来越多的本科生开始关注并依赖AI工具来提升论文写作效率。然而,面对市场上种类繁多的AI论文网站,如何选择真正适合自己的工具成为一大难题。为此,笔者基于大…...
多任务处理原理揭秘:为什么你的电脑能同时运行微信和Chrome?
多任务处理原理揭秘:为什么你的电脑能同时运行微信和Chrome? 在数字时代,我们早已习惯一边用微信聊天,一边在Chrome浏览网页,同时后台还播放着音乐。这种看似平常的多任务体验,背后是操作系统经过半个世纪演…...
NSSM 实战手册:一键将你的脚本与程序转化为 Windows 后台服务
1. NSSM:Windows后台服务的万能钥匙 第一次在服务器上部署Node.js应用时,我盯着那个黑漆漆的命令行窗口发愁——只要关掉窗口,服务就断了。直到发现了NSSM这个神器,才明白原来把普通程序变成系统服务可以这么简单。NSSM全称Non-Su…...
最近在折腾TSP路径优化的时候,发现禁忌搜索和蚁群算法这对组合挺有意思。咱们直接上代码,边跑边聊这两种算法怎么把城市坐标玩出花来。(别慌,文末有完整代码打包)
基于matlab的禁忌搜索算法和蚁群优化算法优化TSP路径,动态输出路径规划过程及输出最小距离。 数据可更换自己的,程序已调通,可直接运行。先看禁忌搜索的暴力美学。这货核心就三招:禁忌表锁死局部最优、特赦规则放行优质解、邻域搜…...
Spring Boot 2.4+集成Neo4j:为何官方推荐Java Driver替代传统Starter?
1. 为什么Spring Boot 2.4推荐使用Java Driver替代传统Starter? 最近在升级Spring Boot到2.6.4版本时,我发现集成Neo4j遇到了不少坑。按照网上的教程添加了spring-boot-starter-data-neo4j依赖后,项目启动就报错"Required identifier pr…...
半波整流电路DIY实战:从零搭建一个简易电源(附波形实测对比)
半波整流电路DIY实战:从零搭建一个简易电源(附波形实测对比) 在电子制作的世界里,电源电路就像人体的心脏,为各种电子设备提供稳定的能量。而半波整流电路,则是电源设计中最基础也最经典的入门项目。不同于…...
并发编程面试实战:synchronized、volatile、Lock、AQS 应答技巧
在 Java 并发编程面试中,synchronized、volatile、Lock 和 AQS 绝对是“重中之重”—— 它们既是基础同步机制的核心,也是面试官区分候选人“只会用”和“懂原理”的关键标尺。很多候选人面试时栽在这部分,不是因为不会用 API,而是…...
