首页 > 其他分享 >CSS引入方式及link和@import的区别

CSS引入方式及link和@import的区别

时间:2023-04-17 13:55:05浏览次数:28  
标签:样式 HTML link 引入 import CSS

1. 概述

1.1 说明

在项目开发中,我们经常使用css样式使页面丰富多彩,编写过程中,CSS有四种引入方式。

 2. CSS引入方式

2.1 引入方式一:内联样式

内联样式(行内样式):直接在 HTML 标签中的 style 属性中添加CSS

<div style="width:200px;height:200px;background:red;"></div>

内联样式只能改变当前标签的样式,如果想要多个<div>拥有相同样式,则需要重复的对多个<div>添加相同的样式,如果要修改一种样式,又要进行批量的去修改style中的代码。

缺点:内联样式引入CSS代码会导致HTML代码变得冗长,页面维护成本过高。

2.2 引入方式二:嵌入样式

嵌入样式:在HTML头部中的<style>标签下书写CSS代码

<head>
    <style>
      .div-content{
        width: 200px;
        height: 200px;
        background: red;
      }
    </style>
 </head>

嵌入样式的CSS只对当前的网页有效。因为CSS代码是在HTML文件中,所以会使得代码比较集中,可以很清晰的查看HTML结构和CSS样式,通常会在模板网页中使用。

缺点:多个页面中需要引入相同的CSS代码时,嵌入样式会导致代码冗余,不利于维护。

2.3 引入方式三:链接样式

 链接样式:使用HTML头部的标签引入所需的外部CSS文件。

<head>
    <link ref="stylesheet" type="text/css" href="style.css">
  </head>

链接样式是最推荐引入CSS的方式。使用这种方式,所有的CSS代码只存在于单独的CSS文件中,所以具有良好的可维护性。并且所有的CSS代码只存在于CSS文件中,CSS文件会在第一次加载时引入,以后切换页面时只需加载HTML文件即可。

ref:定义当前文档与目标文档之间的关系

2.4 引入方式四:导入样式

导入样式:使用CSS规则引入外部CSS文件。并且@import必须得在<style></style>中使用。

<style>
   @import url(style.css);
</style>

导入样式类似链接样式

注意:@import url(xxx.css) 有最大次数的限制,经测试:IE6的最大次数是31次,第32个import及以后的都不生效;

3. link 和 @import 的区别

  • 加载内容
    • link是XHTML标签,除了加载CSS外,还可以加载网站网页图标(网页标签图标)等多种文件
      <link rel="icon" href="https://file.iviewui.com/file/favicon.ico">
    • @import属于CSS范畴,只能加载CSS
  • 加载顺序
    • link引入CSS时,在页面载入时同时载入 --- 浏览器一边下载HTML网页,一边开始解析;解析过程中,发现link标签,浏览器继续往下解析HTML网页,同时并行下载link标签中的css样式。
    • @import需要页面完全载入以后才加载  --- 在网速慢的情况下,会出现一开始没有css样式,闪烁一下出现样式后的页面
  • 兼容问题
    • link是XHTML标签,无兼容问题
    • @import是在CSS2.1提出的,低版本的浏览器不支持(IE5以下不兼容)
  • 操作DOM
    • link支持使用JavaScript操作DOM动态引入样式表改变样式
    • @import不支持,因为@import是css语法故无法动态修改

标签:样式,HTML,link,引入,import,CSS
From: https://www.cnblogs.com/ajuan/p/17325636.html

相关文章

  • Respond.js让IE6-8 支持 CSS3 Media Query
    Respond.js是一个快速、轻量的polyfill,用于为IE6-8以及其它不支持 CSS3MediaQueries的浏览器提供媒体查询的 min-width和max-width特性。官方网址:https://github.com/scottjehl/Respond ......
  • vite启动vue项目报错import { performance } from 'node:perf_hooks'
    import{performance}from'node:perf_hooks'^^^^^^SyntaxError:Cannotuseimportstatementoutsideamodule要求node版本要大于16 使用nvm切换node版本 成功运行......
  • css中文字与图片对齐
    css中文字与图片对齐第一种,使用vertical-align:middle.icon{ background-repeat:no-repeat; background-position:center;display:inline-block;width:16px;height:16px;vertical-align:middle;}.icon-down{background-image:url(./imgs/icon......
  • CSS
    1、什么是CSS    层叠样式表,美化网页 CSS的三种导入方式1、内部样式2、外部样式(链接式,导入式)3、行内样式1<!DOCTYPEhtml>2<htmllang="en">3<head>4<metacharset="UTF-8">5<title>导出方式</title>6<!--内部样式--&......
  • 解决子级用css float浮动 而父级div没高度不能自适应高度
    解决子级对象使用cssfloat浮动而父级div不能自适应高度,不能被父级内容撑开解决方法,父级div没有高度解决方法。当在对象内的盒子使用了float后,导致对象本身不能被撑开自适应高度,这个是由于浮动产生原因。如何解决父div对象自适应高度,方法有三种,接下来DIVCSS5逐一介绍。方法一:对父......
  • DAPLink源码生成Keil工程并编译成功——笔记(实践篇)
    本文介绍使用DAP源码生产Keil工程的步骤。一、前期准备工作以下1~4为步骤:1.安装Python3(https://www.python.org/downloads/),并添加至路径PATH,此处忘截图了,总之看见pip、alluser、addtoPATH之类的就勾选。(网上也有些帖子说暂时不支持Python3要用Python2.7的,本人实测Pyt......
  • 关于 import 和 import static
    import嘛,就是导包。比如说java的一些自带的包,例如 importjava.lang.Matn; 又或者我们自己做的包,例如importcom.link.testImport; 一些实例:比如使用Math的pow,可以选择多种方法importjava.lang.Math;importstaticjava.lang.Math.*;importjava.lang......
  • FastGCN Fast Learning with Graph Convolutional Networks via Importance Sampling
    目录概符号说明MotivationFastGCN方差分析代码ChenJ.,MaT.andXiaoC.FastGCN:fastlearningwithgraphconvolutionalnetworksviaimportancesampling.ICLR,2018.概一般的GCN每层通常需要经过所有的结点的propagation,但是这是费时的.像普通的深度学习方法一......
  • Flink零基础学习笔记(一):基础概念
    一、ApacheFlink的定义、架构和原理ApacheFlink是一个分布式大数据处理引擎,可以对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据以内存速度进行快速计算。接下来我们介绍一下这些关键词的意义。处理无界和有界数据任何数据都......
  • 记一次Flink遇到性能瓶颈
    前言这周的主要时间花在Flink上面,做了一个简单的从文本文件中读取数据,然后存入数据库的例子,能够正常的实现功能,但是遇到个问题,我有四台机器,自己搭建了一个standalone的集群,不论我把并行度设置多少,跑起来的耗时都非常接近,实在是百思不得其解。机器多似乎并不能帮助它。把过程记录......