当前位置: 首页 > news >正文

css的4种引入方式--内联样式(标签内style)、内部样式表(<style>)、外部样式表(<link>、@import)

1.内联样式(Inline Styles):可以直接在HTML元素的style属性中定义CSS样式。

例如:

<p style="color: red; font-size: 16px;">这是一段红色的文本</p>

内联样式适用于对单个元素应用特定的样式,但不适合用于整个网页或多个元素的样式定义。

2.内部样式表(Internal Style Sheets):可以在HTML文档的标签中使用

例如:

<head><style>p {color: red;font-size: 16px;}</style>
</head>
<body><p>这是一段红色的文本</p>
</body>

内部样式表适用于在单个HTML文档中定义样式,可以应用于多个元素。

3.外部样式表(External Style Sheets):可以将CSS样式定义保存在一个独立的CSS文件中,并在HTML文档中通过标签(链接式)或者@import指令(导入式)引入。

通过标签引入(最常用方式)

例如:

<head><link rel="stylesheet" href="styles.css">
</head>
<body><p>这是一段红色的文本</p>
</body>

在这种方式下,CSS样式定义保存在名为styles.css的外部文件中,可以被多个HTML文档共享。这样做可以提高代码的可维护性和可重用性。

通过@import指令引入

@import指令是CSS语言的一部分,使用时把这个指令添加到HTML的一个

要与外部的CSS文件关联起来,得使用url而不是href,并且要把路径放在一个圆括号里面;

<html>
<head>
<style type="text/css">    @import url(css/styles.css);
</style>
<!--此处的type属性是针对HTML4.01的,若在HTML5中则不需要加-->
</head><body>
......
</body>
</html

通过外部样式表,你可以在同一个CSS文件中定义多个样式规则,并将其应用于不同的HTML元素。

以上是CSS的主要引入方式,开发人员可以根据具体需求选择适合的方式。通常情况下,推荐使用外部样式表,因为它提供了最好的可维护性和灵活性。

两种方式的区别

  • 标签属于html标签,而@import是css提供的一种方式,标签不仅可以引入css,还可以做其他事,而@import只能引入css;
  • 加载顺序的区别:当一个页面被浏览时,link引入的css会被同步加载,而@import引用的css是等到其他元素全被下载完之后才被加载;
  • 兼容性的不同:@import是CSS2.1才提出的,所以只有在IE5以上才支持,低版本的浏览器不支持,而标签无此问题;
  • 当使用javascript控制DOM去改变样式时,只能使用标签,因为@import不是DOM可以控制的。

参考链接

https://zhuanlan.zhihu.com/p/658723834
https://www.cnblogs.com/zhaoyingli/p/5379990.html

http://www.lryc.cn/news/257649.html

相关文章:

  • GPT-4 变懒了?官方回复
  • 编译器和 IR:LLVM IR、SPIR-V 和 MLIR
  • 蓝牙物联网对接技术难点有哪些?
  • 漫谈Uniapp App热更新包-Jenkins CI/CD打包工具链的搭建
  • Axure简单安装与入门
  • 前端知识笔记(四十五)———前端开发与后端开发有什么区别
  • Jol-分析Java对象的内存布局
  • 基于sfunction builder的c-sfunction编写及案例测试分析
  • 【Java期末复习资料】(1)知识点总结
  • 进程、容器与虚拟机的区别
  • 全网快递批量查询的得力助手
  • uniapp开发小程序经验记录
  • PR自动剪辑视频工具AI智能剪辑插件AutoPod
  • Visual Studio 2022+Python3.11实现C++调用python接口
  • 10天玩转Python第2天:python判断语句基础示例全面详解与代码练习
  • 2024年网络安全竞赛-网站渗透
  • kafka学习笔记--基础知识概述
  • 聊聊AsyncHttpClient的KeepAliveStrategy
  • 视频推拉流直播点播EasyDSS平台点播文件加密存储的实现方法
  • LVGL——按钮部件
  • RE2文本匹配调优实战
  • Java - 线程间的通信方式
  • 【计算机网络】HTTP响应报文Cookie原理
  • 2023年度盘点:智能汽车、自动驾驶、车联网必读书单
  • 一文讲解如何从 Clickhouse 迁移数据至 DolphinDB
  • [足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-5Laplace Transform of Convolution卷积的拉普拉斯变换
  • 生产问题: 利用线程Thread预加载数据缓存,其它类全局变量获取缓存偶发加载不到
  • Elasticsearch mapping 之 性能相关配置
  • adb push报错:remote couldn‘t create file: Is a directory
  • GitLab 服务更换了机器,IP 地址或域名没有变化时,可能会出现无法拉取或提交代码的情况。