整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

页面导入样式时,使用link和@import有什么区

页面导入样式时,使用link和@import有什么区别?

击右上方红色按钮关注“web秀”,让你真正秀起来

先回答区别,再扩展一下。

link和@import有什么区别

区别1:link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS。

区别2:link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。所以会出现一开始没有css样式,闪烁一下出现样式后的页面(网速慢的情况下)

区别3:link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。

区别4:link支持使用Javascript控制DOM去改变样式;而@import不支持。在html设计制作中,css有四种引入方式。

方式一: 内联样式

内联样式,也叫行内样式,指的是直接在 HTML 标签中的 style 属性中添加 CSS。

示例:

<div style="display: none;background:red"></div>

这通常是个很糟糕的书写方式,它只能改变当前标签的样式,如果想要多个 <div> 拥有相同的样式,你不得不重复地为每个 <div> 添加相同的样式,如果想要修改一种样式,又不得不修改所有的 style 中的代码。很显然,内联方式引入 CSS 代码会导致 HTML 代码变得冗长,且使得网页难以维护。

方式二: 嵌入样式

嵌入方式指的是在 HTML 头部中的 <style> 标签下书写 CSS 代码。

示例:

<head>
 <style>
 .content {
 background: red;
 }
 </style>
</head>

嵌入方式的 CSS 只对当前的网页有效。因为 CSS 代码是在 HTML 文件中,所以会使得代码比较集中,当我们写模板网页时这通常比较有利。因为查看模板代码的人可以一目了然地查看 HTML 结构和 CSS样式。因为嵌入的 CSS 只对当前页面有效,所以当多个页面需要引入相同的 CSS 代码时,这样写会导致代码冗余,也不利于维护。

方式三:链接样式

链接方式指的是使用 HTML 头部的 标签引入外部的 CSS 文件。

示例:

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

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

方式四:导入样式

导入方式指的是使用 CSS 规则引入外部 CSS 文件。

示例:

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

或者写在css样式中

@charset "utf-8";
@import url(style.css);
*{ margin:0; padding:0;}
.notice-link a{ color:#999;}

比较链接方式和导入方式

链接方式(下面用 link 代替)和导入方式(下面用 @import 代替)都是引入外部的 CSS 文件的方式,下面我们来比较这两种方式,并且说明为什么不推荐使用 @import。

1、link 属于 HTML,通过 <link> 标签中的 href 属性来引入外部文件,而 @import 属于 CSS,所以导入语句应写在 CSS 中,要注意的是导入语句应写在样式表的开头,否则无法正确导入外部文件;

2、@import 是 CSS2.1 才出现的概念,所以如果浏览器版本较低,无法正确导入外部样式文件;

3、当 HTML 文件被加载时,link 引用的文件会同时被加载,而 @import 引用的文件则会等页面全部下载完毕再被加载;

小结:我们应尽量使用 <link> 标签导入外部 CSS 文件,避免或者少用使用其他三种方式。

喜欢小编或者觉得小编文章对你有帮助的,可以点击一波关注哦!同时,要源码的小伙伴可以点击下方“了解更多”。

原文链接:https://segmentfault.com/a/1190000003866058

:import标签
完成类似java的import的功能:
马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。

例 2.2.5
<%@ page contentType="text/html; charset=GBK"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<body>
主页面
<c:import url="hello.jsp">
<c:param name="name" value="mark-to-win" />
</c:import>
</body>
</html>
hello.jsp:

<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<br>
被包的页面
<c:out value="被import的html"/>
<c:out value="${param.name}"/>
<br>




运行jsp后,浏览器中输出结果是:

主页面
被包的页面被import的html mark-to-win

篇幅有限更多请见扩展链接:www.mark-to-win.com/tutorial/jsp_5_cimportExample.html

Web 开发的浩瀚海洋中,CSS 犹如点睛之笔,为网页增光添彩。而引入 CSS 样式的方式,也决定了网页渲染的效率和代码的可维护性。 link 和 @import 作为两种常见的 CSS 引入方式,今天就来一场正面对决,看看谁才是你的最佳选择!

Round 1:身份揭秘,从出身说起

  • link :HTML 的正牌标签,身兼多职,不仅能引入 CSS,还能定义 RSS、rel 链接属性等。可谓是 HTML 家族中的“多面手”。
  • @import :CSS 语法规则的忠实守护者,专注于导入样式表,是 CSS 世界的“专业选手”。

Round 2:速度之争,加载顺序大比拼

  • link :与 HTML 标签并肩作战,页面加载时同步加载,赢在起跑线。
  • @import : 姗姗来迟,页面加载完毕后才开始加载,容易造成页面闪烁,用户体验稍逊一筹。

Round 3:兼容性考验,谁更胜一筹?

  • link : HTML 元老级标签,不存在兼容性问题,稳如泰山。
  • @import :CSS2.1 语法,存在一定的兼容性问题,在老旧浏览器中可能会出现样式加载失败的情况。

Round 4:控制权争夺,DOM 操作谁更强?

  • link : 受 JavaScript 和 DOM 的绝对控制,可以通过修改 link 标签属性动态改变样式,灵活多变。
  • @import :游离于 DOM 之外,无法通过 JavaScript 直接控制,显得有些“高冷”。

Round 5:权重较量,谁的影响力更大?

  • link :在样式层叠中拥有更高的权重,其定义的样式会覆盖 @import 引入的样式。

终极 PK:示例代码大 showdown

<!DOCTYPE html>
<html>
<head>
  <title>link vs @import</title>
  <link rel="stylesheet" href="style.css"> 
</head>
<body>
  <h1>Hello world</h1>
</body>
</html>
/* style.css */
@import url("other-style.css");

源码解析

在浏览器解析 HTML 文件时,会依次解析 link 标签和 style 标签,并下载相应的 CSS 文件。@import 规则会在 CSS 文件解析时被执行,浏览器会再次发送请求下载 other-style.css 文件。

总结:link更胜一筹

综上所述,link 标签凭借其加载速度快、兼容性好、可控性强等优势,在 CSS 引入方式的较量中更胜一筹,是大多数场景下的最佳选择。

当然,@import 也并非一无是处,在某些特殊情况下,它也能发挥作用。例如,当我们需要根据不同的条件加载不同的样式表时,可以使用 @import 结合 JavaScript 实现动态加载。

#头条创作挑战赛#