前端开发:CSS中@import指令详解

news2024/9/21 20:41:27

前言

在前端开发过程中,关于CSS的使用也是非常的,尤其是样式相关的设置等操作。作为前端开发者关于@import指令都会有所了解,尤其是在导入CSS样式的时候会用到,但是刚入行不久的前端开发者对应@import指令会有所陌生。那么本文就来分享一下关于@import指令的使用详情,总结一下,方便后期查阅使用。

CSS文件引入方式

众所周知,CSS文件引入的方式有两种:第一种就是通过HTML中使用link标签,第二种就是通过使用CSS中的@import指令。下面举一个示例,复制内容到剪贴板,具体方式如下所示。

1、HTML中使用link标签

  

<link rel="stylesheet" href="style.css" />  

2、使用CSS中的@import指令

@import "style.css";  

@import指令

首先来看一下@import指令的含义:@import导入指令其实是CSS提供的一个实用命令,主要功能是根据路径导入一个样式表的文件,且能够指定样式表所服务的设备类型,即可以将别的样式表导入当前样式表中,使样式表文件不必写在同一个文件当中。

1、属性定义及使用说明

CSS的@import是用于从其他样式表导入样式规则。需要注意的是:

  • @import 规则必须在 CSS 文档的头部,但可以在 @charset 规则的后面;
  • @import 规则不是一个嵌套语句,@import不能在条件组的规则中使用;
  • @import 规则支持媒体查询,所以可以根据不同屏幕尺寸导入不同的样式文件。

2、@import指令的语法

@import url|string list-of-mediaqueries;

3、@import指令的属性值

描述

url|string

表示要引入资源地址。这个 URL 可以是绝对路径或者相对路径。 注意:这个URL不需指明一个文件;可以只指明包名,然后合适的文件会被自动选择。

list-of-mediaqueries

是一个逗号分隔的媒体查询条件列表,设置URL引入的 CSS 规则在何种条件下应用。若浏览器不支持列表中的任何一条媒体查询条件,就不会引入 URL 指定的 CSS 文件。

4、@import指令的实例

导入"theme.css"样式到当前到样式表中,具体如下所示:

@import "theme.css"; // 使用字符串

或者

@import url("theme.css"); // 使用 url 地址

5、@import指令的用法

关于@import指令的用法,具体写法如下所示:

@import url(“public.css”); //释义:通过该命令,能够将public.css导入当前的样式表文件中

除了上面的用法,@import指令还可以给导入的样式表指定一个设备类型,标明当前的样式是做什么用途的,比如:

import url(“print.css”) print;//释义:通过该命令,可导入一个print.css样式表文件,且该样式表用于打印机设备的打印样式。

6、@import指令的注意点

@import指令的注意点,具体如下所示:

  • 在使用@import语句引入样式时,在一行样式的结尾需要加分号;
  • 在html文档中使用@import时,需要在style标签里面;
  • 不建议使用@import语句,因为@import引入的 CSS 将在页面加载完毕后才被加载。

@import指令和link的区别

上文已经介绍了@import指令和link的对比使用,这里再来做一下二者的对比,具体如下所示:

1、可以知道link属于HTML标签,但@import 是CSS提供的一种方式。link标签不仅可以加载CSS,还可以定义RSS、定义rel连接属性等;但是@import 只能加载CSS。

2、兼容性的差别。@import是CSS2.1提出的,所以在此之前的旧浏览器不支持,即@import只能在IE5以上才能被识别;但是link标签不存上述的问题。

3、在使用JS控制DOM去改变样式的时候,只能用link标签,不能使用@import指令原因是DOM不可控的。

拓展:CSS中的!import

虽然上面讲的是关于@import指令的用法,但是!import也是关于CSS的使用的另一个知识点,虽然它们比较像,但是用法不同,就拿来放一起做对比分享。

1、CSS中的!import的用法

一般情况下在CSS中的样式后面加上 “!import ”,就是为了提升该样式规则的应用优先级。

2、CSS中的!import的语法

选择器{ 样式:值 !important;}

注意:虽然!import为使用者提供了一个增加样式权重的方法,但是应当注意!import对整条样式的声明,包括该样式的属性和属性值。

3、CSS中的!import的使用示例

CSS中的!import的使用示例,具体如下所示:

<div id="body">
<a>import</a>
</div>
<style type="text/css">
a {
    color: red !important;
}
#body a{
color: black;
}
</style>

上面的代码段中,如果不加import特性,则超链接的颜色为黑色,但是加上import之后优先级提高了,会显示红色。

注意

  •  若!import被用于一个简写的样式属性,那么该简写的样式属性所代表的子属性都会被作用上!import;
  •  关键字!import必需放在一行样式的末尾且要放在该行分号之前,否则就没有效果;
  •  在某些特殊情况下,需要在一个代码块中声明两个同样的属性,那么需要把!import加在第一个属性的后面,因为会让所有浏览器中第一个属性的权重更大。

最后

通过本文关于前端开发中的CSS中import指令的详细介绍,在实际的前端开发工作中还是要知道了解的,所以作为前端开发者来要掌握它相关的内容,尤其是从事前端开发不久的开发者来说尤为重要,是一篇值得阅读的文章,重要性就不在赘述。欢迎关注,一起交流,共同进步。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目管理:我该怎么安排下属的工作

在刚开始做项目经理的时候&#xff0c;分配任务时会局限于这样的心理&#xff1a;以前我们都是平级的同事&#xff0c;现在我比他们高一个级别了&#xff0c;我说的话他们会不会听啊。 在这个阶段&#xff0c;大部分项目经理都缺乏自信&#xff0c;觉得在项目成员心中威望不足…

Linux shell编程 条件语句if case

条件测试 test命令 测试表达式是否成立&#xff0c;若成立返回0&#xff0c;否则返回其他数值 格式1: test 条件表达式 格式2: [ 条件表达式 ]文件测试 [ 操作符 文件或者目录 ][ -e 1.txt ]#查看1.txt是否存在&#xff0c;存在返回0 echo $? #查看是上一步命令执行结果 0成…

15天学习MySQL计划-存储过程变量判断循环游标函数触发器(进阶篇)-第九天

15天学习MySQL计划-存储过程/变量/判断/循环/游标/函数/触发器&#xff08;进阶篇&#xff09;-第九天 存储过程 1.介绍 ​ 存储过程是事先经过编译并存储是数据库中的一段SQL语句的集合&#xff0c;调用存储过程可以简化应用开发人员的很多工作&#xff0c;减少数据在数据库…

SR常用数据集介绍

1.Download Link&#xff1a; 1.DIV2K: DIV2K Dataset 2.Set5:【实践与问题解决28】最全超分辨率&#xff08;SR&#xff09;数据集介绍以及多方法下载链接_超分辨率数据集_呆呆象呆呆的博客-CSDN博客 3.Set14:【实践与问题解决28】最全超分辨率&#xff08;SR&#xff09;数…

Java --- springboot2的静态资源配置原理

目录 一、静态资源配置原理 1.1、配置类只有一个有参构造器 1.2、资源处理的默认规则 1.3、欢迎页的处理规则 一、静态资源配置原理 springboot启动默认加载xxxAutoConfiguration(自动配置) springmvc功能的自动配置类&#xff0c;生效 Configuration(proxyBeanMethods …

Find My资讯|苹果iOS 17将增强Health应用、引入情绪追踪器

彭博社的马克・古尔曼表示&#xff0c;苹果计划在 iOS / iPadOS 17 系统中&#xff0c;为 iPhone / iPad 用户引入几项和健康相关的新功能。其中最值得关注的一款新应用&#xff0c;可以追踪用户的情绪。 苹果计划进一步增强 Health 应用&#xff0c;引入视力状况相关的功能。…

Python小姿势 - # Python网络爬虫之如何通过selenium模拟浏览器登录微博

Python网络爬虫之如何通过selenium模拟浏览器登录微博 微博登录接口很混乱&#xff0c;需要我们通过selenium来模拟浏览器登录。 首先我们需要安装selenium&#xff0c;通过pip安装&#xff1a; pip install selenium 然后我们需要下载一个浏览器驱动&#xff0c;推荐使用Ch…

【翻译一下官方文档】认识uniCloud云数据库(基础篇)

我将用图文的形式&#xff0c;把市面上优质的课程加以自己的理解&#xff0c;详细的把&#xff1a;创建一个uniCloud的应用&#xff0c;其中的每一步记录出来&#xff0c;方便大家写项目中&#xff0c;做到哪一步不会了&#xff0c;可以轻松翻看文章进行查阅。&#xff08;此文…

虹科活动丨2023第十三届药品质量安全大会精彩回顾

由中国社会科学院食品药品产业发展与监管研究中心、北京中培科检信息技术中心联合主办的2023第十三届&#xff08;春季&#xff09;全国药品质量安全大会暨展览会圆满结束&#xff0c;会上众多优秀企业齐聚一堂&#xff0c;分享独家产品&#xff0c;交流行业知识。 在生物科学…

vCenter(PSC)正常更改或重置administrator@vsphere.local用户的密码方法

1. 正常更改administratorvsphere.local用户密码 在vCenter界面中选择“菜单”下的“系统管理”&#xff0c;如下图所示&#xff1a; 然后在Single Sign On下的用户和组中&#xff0c;选择“vsphere.local”域&#xff0c;再对Administrator用户进行编辑&#xff0c;即可进行…

一图看懂 certifi 模块:证书路径, 资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创&#xff0c;转载请声明。 链接: https://blog.csdn.net/Ahcao2008 一图看懂 certifi 模块&#xff1a;证书路径, 资料整理笔记&#xff08;大全&#xff09; 摘要模块图及类关系图类关系图模块全展开【certifi】统计常量模块1 certifi.core 函数2 co…

【c语言】详解宏定义#define 各种使用方法

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ…

vue+Nodejs+Koa搭建前后端系统(三)--koa-generator项目优化修改

前言 计算机系统为Windows 10 专业版 修改package.json配置 原package.json文件中scripts字段的配置字段为&#xff1a; 在终端运行 npm run dev可能会报错 ‘.’ 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。 解决方法就是修改package.json文件中dev…

Apache Zeppelin系列教程第一篇——安装和使用

一、Apache Zeppelin 介绍 Apache Zeppelin是一种开源的Web笔记本类型交互式数据分析工具&#xff0c;它提供了基于浏览器的界面&#xff0c;允许数据工程师和科学家通过各种语言和工具&#xff0c;如Scala, Python, SQL, R,等等&#xff0c;交互式地进行数据分析、可视化以及…

Word控件Spire.Doc 【脚注】字体(2): 在C#, VB.NET中设置Word字体

Spire.Doc for .NET 是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

执行kubectl命令失败server was refused问题解决

在宿主机上执行kubectl 命令时&#xff0c;出现如下错误 [rootroot ~] kubectl get namespaces The connection to the server xxx.xx.xx.xx:6443 was refused - did you specify the right host or port? 然后再网上找寻解决方案&#xff0c;发现各种各样的解决方案都存在。…

API淘宝数据接口

如果你想在自己的应用中使用淘宝的数据&#xff0c;那么对接淘宝数据接口是必不可少的一步。本文将介绍如何对接API淘宝数据接口&#xff0c;以便你能够顺利获取和使用淘宝的数据。 步骤一&#xff1a;​​获取App Key和App Secret​​ 首先&#xff0c;在淘宝开放平台申请AP…

深入浅出:CAN通信之CCP协议

CCP(CAN Calibration Protocol) CAN标定协议(用于标定系统与ECU之间的通信) CCP协议在应用层&#xff0c;使用CAN的数据帧来传输命令 CRO数据帧(主设备想从设备发送) CRO报文&#xff1a;CCP报文帧格式为CMD CTR DATA&#xff0c;即Command、Counter、Data&#xff0c;其中…

opencv cuda版本windows编译

目录 1. 编译准备2. 编译3. 遇到的问题及解决方案3.1 boostdesc_bgm.i,vgg_generated_48.i等文件的缺失3.2 fatal error: features2d/test/test_detectors_regression.impl.hpp: 没有那个文件或目录 1. 编译准备 编译工具是cmakevisual studio2022&#xff0c;首先安装这两个工…

6个优化策略,助你降低K8S成本

Kubernetes 早已成为容器编排引擎的事实标准&#xff0c;而随着 Kubernetes 环境的复杂性持续增长&#xff0c;成本也在不断攀升。CNCF 发布的调查报告《Kubernetes 的 FinOps》显示&#xff0c;68%的受访者表示 Kubernetes 开销正在上涨&#xff0c;并且一半的人所在的组织经历…