侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

深入浅出学习层叠样式表--css(推荐)

前端  /  管理员 发布于 7年前   146

走入层叠样式表的世界

css指层叠样式表, (Cascading Style Sheets),是为了解决内容与表现分离的问题,可以大大提高工作效率,多个样式层叠为一也可以节省代码的重复。

为什么将css分离出来

在很久很久以前,只使用html来进行布局,有关样式的部分使用html属性完成,这样代码就显得很臃肿,修改起来也是特别的麻烦。后来w3c就创造出了样式(style),这样html就只负责结构,描述样式就交给了css。这样大大减少了开发者的工作量,提高了工作效率。

标签重复问题得到解决

html提供了标签,用来包裹内容,搭建结构。但是现在的网站一般都是大型网站,这样标签就显得不是那么够用了,将标签属性或者style样式写在标签内,那么下一个雷同的地方,还要再写一遍很麻烦。

style样式重用在不同的模块

相同的结构样式,如果使用原始的html,就需要一遍遍的粘贴复制,造成代码臃肿。而使用css样式呢,规定好规则,将css样式同一到一起,相同的html结构都调取这部分css样式,就大大减少了代码量,而且修改的时候,修改样式后,所有相同的html结构都会跟着改变样式,大大减少维护的工作量。

整站的样式复用

网站是由很多歌单独的页面组成的,但是网站往往为了保持风格统一,而将部分结构保持一致,那么一部分样式就需要多个html文件公用,不光这个页面可以使用这个css文件,其他页面也可以使用这个文件。

css样式怎样引入到html文件中

html结构和css样式既然是分离的,那就是两个独立的文件,我们需要想办法将他们结合到一起,那么怎样将两者结合到一起呢?

行内式

将css属性名和属性值通过style这个标签属性直接写在html标签中的形式,就是行内样式。例如

 <p style="width: 100px;height: 100px;background-color: red;"></p>
        这段代码是描述一个宽度高度为100像素,背景颜色是红色的一个p标签。  
 

内嵌式(嵌入式)

使用style标签将css属性名和属性值引入到html页面中,通常style标签放置在head标签中。为什么css样式要放置在head标签中呢,因为代码从上到下执行,如果先加载结构,那么用户看到的就将是干巴巴的内容,而没有通过美化,而先加载样式后加载结构,就相当于孩子出生就是穿着衣服的。

<head> <style type="text/css">  p{ width: 100px; height: 100px; background-color: red; } </style></head>

        这段代码也是描述一个宽度高度为100像素,背景颜色是红色的一个p标签,只不过是通过内嵌式的方法引入。 
 

外联式(外链式)

通过link标签,将一个单独的css文件引入到这个html文件中,也是要放置在head标签中。

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

        描述了当前页面与href所指定文档的关系。即说明的是,href连接的文档是一个新式表。
        type="text/css"是指定MIME类型,也就是css文档。

        href="css/prism.js"规定被链接文档的位置。  
 

导入式

通过@import引用外部css文件,但需要写入css文件或style标签中。

   <style type="text/css">        @import url(style.css) </style>        url(style.css) url(规定被链接文档的位置)。

link和@import虽然都是引入外部的css文件,但是他们是由天差地别的区别的。

· link是html标签,@import完全是css提供的方式,要写在css文件或者style标签中。

· 他们的加载顺序也是有区别的,当一个页面被夹在的时候,link引用的css文件会被同时加载,而@import引入的css文件会等页面全部下载完后再加载。

· 兼容性的差别。由于@import是CSS2.1提出的所以老的浏览器不支持,@import只有在IE5以上的才能识别,而link标签无此问题。

· 当使用javascript控制DOM去改变css样式的时候,只能使用link标签,因为import是不能被DOM控制的。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助~如果有疑问大家可以留言交流,谢谢大家对AIDI的支持!


  • 上一条:
    全面解析CSS Media媒体查询使用操作(推荐)
    下一条:
    CSS浏览器兼容性常见问题总结大全(推荐)
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 使用 Alpine.js 排序插件对元素进行排序(0个评论)
    • 在js中使用jszip + file-saver实现批量下载OSS文件功能示例(0个评论)
    • 在vue中实现父页面按钮显示子组件中的el-dialog效果(0个评论)
    • 使用mock-server实现模拟接口对接流程步骤(0个评论)
    • vue项目打包程序实现把项目打包成一个exe可执行程序(0个评论)
    • 近期文章
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-10
    • 2017-11
    • 2018-03
    • 2018-04
    • 2018-05
    • 2018-06
    • 2018-09
    • 2018-11
    • 2018-12
    • 2019-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-04
    • 2021-05
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客