`

CSS在页面里面的三种引入方式(转)

    博客分类:
  • CSS
阅读更多

CSS在页面里面一般有三种引入方式
1.在页面里面直接写
    
<style type="text/css">
     body{
       margin: 0;
      padding: 0;
     }
</style>

2.用link进行引用

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

3.用import进行引用

<style type="text/css">
     @import url(my.css);
</style>

第一种是直接在html页面上进行CSS书写,而第二种和第三种是采用外部引用样式单独提取文件。

问题1.到底link和@import有什么区别?
我们先来看看他们的定义

Quote
link元素
HTML和XHTML都有一个结构,它使网页作者可以增加于HTML文档相关的额外信息。这些额外资源可以是样式化信息(CSS)、导航助手、属于另外形式的信息(RSS)、联系信息等等。
Quote
@import
指定导入的外部样式表及目标设备类型。
其实link和@import的最根本区别就是,link是一个html的一个标签,而@import是css的一个标签,
link除了调用CSS外还可以有其他作用譬如声明页面链接属性,声明目录,rss等等,而@import就只能
调用CSS。如果单独从外部引用CSS来说,他们的作用是基本一样,只不过上面的老大不一样而已。:)

问题2.link合import到底那个更好?
上面说了因为上面的老大不一样,所以在使用上就会有一些细节的区别,不能说总体谁好谁坏,
只能说具体情况具体分析。
1)我要用javascript进行样式选择;
这个时候就要用link,因为link是html元素,可用javascript去控制dom元素最后达到改变样式的效果。
看下列代码

<link rel="stylesheet" href="/css/styles.css" type="text/css" media="screen" />
<link rel="stylesheet" href="/css/orange.css" type="text/css" media="screen" title="orange" />
<link rel="alternate stylesheet" href="/css/blue.css" type="text/css" media="screen" title="blue" />
<link rel="alternate stylesheet" href="/css/pink.css" type="text/css" media="screen" title="pink" />
<link rel="alternate stylesheet" href="/css/slate.css" type="text/css" media="screen" title="slate" />
这是一段很经典的改变页面风格的代码,因为我们今天主要讲的是link和import,所以我这里只列出了引用CSS部分。
我们先来看看link里面个个属性都是表达了什么意思:
[1]rel:用来声明链接对象的作用或者类型。
譬如上面的的代码:"stylesheet"表示链接一个默认的CSS,而"alternate stylesheet"折表示备选的CSS
[2]href:这个就不用我说了吧,引用CSS的文件路径。
[3]tyle:文件类型
[4]media:应用的设备,"screen"是说明应用在屏幕上。
[5]title:是CSS的名称。
这段代码中一共有5个CSS,第一个是基本样式,而其他四个是风格样式,利用javascript去控制默认显示的样式title就ok了。

2)我要在应用打印样式;
打印样式顾名思义就是打印页面时候的样式。
这个样式在普通浏览下是没有效果的,只有在打印的时候生效。
如果要为页面单独引用打印样式的话,link和@import都可以的。

link代码

<link rel="stylesheet" href="/css/styles.css" type="text/css" media="print" />

@import代码

<style type="text/css">
@import url(foo.css) print;
</style>

另外对于CSS来说还有一种方式@media:

@media print {
@import "print.css"
}
用@media先制定设备为 print,然后再用@impor链接

3)我要引用多个样式;
如果要在一个页面上引用多个样式组合产生效果的话,永link和@import也是都可以的。

link代码

<link rel="stylesheet" href="/css/styles.css" type="text/css" media="screen" />
<link rel="stylesheet" href="/css/orange.css" type="text/css" media="screen" />

@import代码

<style type="text/css">
     @import url(../css/base/my.layout.css);
     @import url(../css/base/my.typo.css);
    </style>

不过个人觉得,用@import引用多文件的时候更加清晰一些
另外对于多样式还有一种link于@import的组合用法。
先用link引用一个CSS文件

<link rel="stylesheet" href="/css/styles.css" type="text/css" media="screen" />
然后在这个CSS文件里面再引用。

<style type="text/css">
     @import url(../css/base/my.layout.css);
     @import url(../css/base/my.typo.css);
    </style>
这样做的好处是,如果你一个站点所有页面引用的样式都是一样的,
而有又多个CSS,如果你每个页面都加4,5个一样的CSS样式,却是浪费代码和精力,
所以莫不如这样做,所有一个页面都引用一个CSS,然后一个CSS在引用多个CSS,方便
管理和维护。

分享到:
评论

相关推荐

    HTML外部引用CSS文件不生效原因分析及解决办法

    作为一个前端小白,鼓捣了几...然后再我的html文件里面去引入这个外部css: XML/HTML Code复制内容到剪贴板 &lt;link rel=stylesheet type=text/css href=css/style.css&gt;  在浏览器一刷新。。哇,kao。竟然没

    css介绍快速学习

    CSS的引入方式通过四种方式 1.style属性方式: 利用标签中style属性来改变每个标签的显示样式。 例: ; color:#FFFFFF"&gt; p标签段落内容。 该方式比较灵活,但是对于多个相同标签的同一样式定义比较麻烦,适合局部...

    css笔记课程笔记2019,5,22

    *** 第三种结合方式,缺点:在某些浏览器下不起作用,一般使用第四种方式 *** 优先级(一般情况) 由上到下,由外到内。优先级由低到高。 *** 后加载的优先级高 *** 格式 选择器名称 { 属性名:属性值;属性...

    酷炫 html5页面加载 loading动画效果 demo 基于原生无第三方依赖

    用法非常简单,基于原生 JS CSS 开箱即用 在head中引入css,在body第一行引入js 即可失效酷炫的页面加载特效 详细介绍参考 https://zzzmh.cn/single?id=53

    Web前端基础day02.zip

    CSS(Cascading Style Sheet):层叠样式表,作用:是用于美化页面的 如何在html页面中添加CSS样式代码?...外部样式: 在单独的css样式文件中写样式代码,通过link标签引入,好处:可以多页面复用,可以将html和css代码分离开

    HTML页面自动清理js、css文件的缓存(自动添加版本号)

    在web项目开发过程中,我们经常会引用css、js文件,更新文件后常出现缓存问题(明明更改了代码,在浏览器上访问的时候却没有发生变化),这种情况我们通常采用以下两种解决方案: 1、手动清除浏览器缓存 2、添加版本...

    CSS的使用

    1.内联样式 将样式声明在元素的style属性中 1 样式声明 表示一个具体的显示效果,可以多个同时存在的,多个... 在css文件夹下新建一个CSS文件 并在里面添加好样式 2.在需要使用得页面上添加 link 标签 进行引入 4

    animate.css

    有时在编写页面的时候需要一些比较炫酷的字体动画样式,animate里面就就许多的样式 ,只需在在页面上引入animate.css库,然后在需要的地方加入需要样式名。如:“animated bounce”

    uni-app实战——创建项目、项目结构详解

    下面是错误示范然后是js的代码,里面主要是vue的js语法 最后是css代码,用来美化页面页面就包含以上三个部分,我们点减号把代码收起,可以清晰的看到它的代码结构。里面有很多配置,比如应用名称、模块权限配置...

    又一款jQuery鼠标悬停显示文字翻转动画效果

    效果描述: 鼠标悬停,图片翻转,基于jQuery实现的效果 当然,也有CSS3在里面,混杂型的 使用方法: 1、将CSS代码引入到你的网页中 2、将body中的代码部分拷贝到你的页面中

    基于mongodb+nodejs+express + vue+elemenet全栈开发带权限的管理系统源码+使用说明.zip

    3)引入公共css在public (reset文件夹名字)第二要使用在public里面的index.html 引入css &lt;link rel="stylesheet" href="css/reset.css"&gt; &lt;link href="//cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome....

    Web前端大作业-港珠澳大桥.zip

    首先选定 本网页制作工具是前端开发利器: WebStorm,创建前端项目工程,并创建相应的文件夹,存放各个css、js,还有网页中用到的各种图片,以及除了主页面index.html之外的二级页面,其存放在html文件夹下,在各个...

    如何封装JS和CSS文件为服务器端控件---ASP.NET 2.0

    }它就是用来注册你的CSS文件的,大家都知道在我们的页面代码里面是&lt;link href="StyleSheet.css" rel="stylesheet" type="text/css" /&gt;引入外部样式文件。这个方法就是达到这个目的。那么我们现在还没有样式文件。 ...

    artTemplate模板js文件

    前端开发时,我们经常会遇到动态拼接表单多div模块,但往往由于拼接太多...而该artTemplate.js文件使得页面模板化开发,从而使得追加的表单或div可以单独存在,并灵活的追加在页面中,突出的优点就是便于维护及操作。

    jQuery树形菜单显示

    使用时只要在页面中引入jquery.js、jquery.cookie.js、jquery.treeview.js(树形菜单的方法)、 jquery.treeview.css即可。同时保证jquery.treeview.css文件和images文件夹的相对位置,在同一目录下即可

    自创的叠层柱状图(第二种)统计汇总表的JQUERY插件

    如果大家想把这个柱形图改得非常酷炫的话,可以修改源码包中的CSS文件,在CSS类中引入一些装饰图片。 资源包中配了一个DEMO和一个简单的API,大家可以自己看,如果有兴趣可以一起来扩展功能:) 本源码经过测试,可...

    解决vue scoped html样式无效的问题

    vue中引入了scoped这个概念,设计思想就是让当前组件的样式不会修改到其他页面的样式,使用了data-v-hash的方式来使css有了他对应的模块的标识,通俗来说就是使用了scoped属性,template里面的ht

    jQuery实现鼠标滚轮控制div上下翻动效果

    打开页面后,用鼠标滚轮上下滚动时,发现页面并不会滚动,滚动的部分却是div里面的三部分,效果很不错 使用方法: 1、在你的网页head中引入css样式 2、将代码部分拷贝到你的网页中 3、在底部引入四...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    HybridApp 一种可以下载的Native App,其用户界面的全部或者部分元素在嵌入式浏览器组件(WebView之类的)里面运行 优雅降级 一开始就构建站点的完整功能,然后针对浏览器测试和修复。认为应该针对那些最高级、最...

    用JQUERY制做的柱形图统计汇总表的JS前台插件

    本功能类是建立在JQUERY1.3.2的基础...如果大家想把这个柱形图改得非常酷炫的话,可以修改源码包中的CSS文件,在CSS类中引入一些装饰图片。 资源包中配了一个DEMO,大家可以自己看,如果有兴趣可以一起来扩展功能:)

Global site tag (gtag.js) - Google Analytics