当前位置: 首页 > news >正文

三种引入CSS的方式

文章目录

    • CSS基础知识
      • 概述
      • CSS的注释
      • CSS的格式
    • 三种引入CSS的方式
      • 内嵌式
      • 外链式
      • 行内式
      • 优先级

CSS基础知识

概述

Cascading Style Sheet 层叠样式表

前端三大基础之一(Html结构 CSS样式 JS动作)

最早由网景公司(Netscape)提出,在1996年受到w3c的认证,发布了第一版,迄今为止已经是第四版,专门用来负责页面的样式 取代了Html同时渲染结构和样式造成的页面混乱。

使用html同时渲染页面样式和结构的弊端:结构样式耦合在一起,浏览器解析困难,可读性差,毫无代码重用性。

CSS的注释

/**/ 这是css的标准注释,不能使用<!-- -->

CSS的格式

CSS通过选择器(selector)机制从全文精确拿取元素,通过设置名值对的方式来设置样式

sel{  样式名:样式值;  样式名2:样式值2;  }

三种引入CSS的方式

准备几个HTML标签用来测试

<body><h2>我是H2标题</h2><hr><a href="#">我是一个链接</a><span id="test">我是一个span标签</span><div class="test">看看我听谁的?</div>
</body>

内嵌式

直接将css代码书写在head标签内,这是一种优缺点都不是 很明显的书写方式,注意style标签只能书写css代码,不能书写html的标签

<head><meta charset="UTF-8"><style>h2{/* 设置字体 */font-family:DFPWaWaW5;/*设置颜色 此处设置矢车菊蓝*/color:cornflowerblue;/*设置字体大小*/font-size:30px;}</style>		
</head>

运行效果

在这里插入图片描述

外链式

通过link标签引入一个独立的css文件到本页面
rel:表示引入的是一个样式表
href:表示引入css文件的路径
这种设置 css 的方式被普遍使用,实现了代码重用性

<head><meta charset="UTF-8"><link rel="stylesheet" href="./css/style.css">
</head>

新建style.css文件

/*设置默认的a链接样式
*/
a{/* 设置颜色 */color:deepskyblue;/*去掉链接自带的下划线*/text-decoration: none;
}/*通过设置伪类来设置某种状态下a链接的样式sel:伪类{}:hover表示鼠标悬停时的样式
*/
a:hover{color:orangered;/* 字体加粗 */font-weight: bolder;/* 添加下划线 */text-decoration: underline;
}/*设置被点击之后的链接的样式,注意,只要被点击后就会出现此样式,刷新页面无效
*/
a:visited{color:#663399;
}

运行效果

在这里插入图片描述

行内式

在标签内直接书写css,这种方式严重违背了解耦结构和样式的原则 将结构和样式再次耦合在一起,但是由于其优先级极高,所以使用较多

background-color:设置背景色;

color:设置字体颜色

<span id="test" style="background-color: pink;color:red">我是一个span标签</span>

运行效果
在这里插入图片描述

优先级

当三种引入方式同时对一个元素进行样式的渲染时,优先级问题

优先级从高到低 行内式> 外链式和内嵌式谁放在后面,会覆盖之前出现冲突得样式

可以自己通过三种方式同时对div标签进行样式渲染,测试下优先级

相关文章:

  • 1 python计算机基础
  • 数据结构-第一章
  • androidkiller的两种异常情况
  • What is `@Controller` does?
  • Kali Linux保姆级教程|零基础从入门到精通,看完这一篇就够了!(附工具包)
  • 圈小猫游戏HTML源码
  • Docker之网络配置的使用
  • iOS UI掉帧和卡顿优化解决方案记录
  • 导入失败,报错:“too many filtered rows xxx, “ErrorURL“:“
  • 自学网络安全(黑客)笔记
  • http跟https有什么区别?
  • 4、Redis高并发分布式锁实战
  • Linux下安装jdk、tomcat
  • ChatGPT 和 文心一言 的优缺点及需求和使用场景
  • 1.6计算机网络的性能指标
  • 《深入 React 技术栈》
  • 【mysql】环境安装、服务启动、密码设置
  • 77. Combinations
  • angular学习第一篇-----环境搭建
  • Codepen 每日精选(2018-3-25)
  • Java 最常见的 200+ 面试题:面试必备
  • JavaScript的使用你知道几种?(上)
  • JavaScript服务器推送技术之 WebSocket
  • Unix命令
  • ViewService——一种保证客户端与服务端同步的方法
  • 初识MongoDB分片
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 机器学习 vs. 深度学习
  • 跳前端坑前,先看看这个!!
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 责任链模式的两种实现
  • 正则学习笔记
  • 走向全栈之MongoDB的使用
  • Linux权限管理(week1_day5)--技术流ken
  • 阿里云服务器如何修改远程端口?
  • (12)Hive调优——count distinct去重优化
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (已解决)什么是vue导航守卫
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • [] 与 [[]], -gt 与 > 的比较
  • [28期] lamp兄弟连28期学员手册,请大家务必看一下
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • [BZOJ 4129]Haruna’s Breakfast(树上带修改莫队)
  • [corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape
  • [DNS网络] 网页无法打开、显示不全、加载卡顿缓慢 | 解决方案
  • [iOS开发]iOS中TabBar中间按钮凸起的实现
  • [JavaScript]_[初级]_[关于forof或者for...of循环语句的用法]
  • [MT8766][Android12] 增加应用安装白名单或者黑名单
  • [MySQL FAQ]系列 -- 如何利用触发器实现账户权限审计
  • [Neural Network] {Université de Sherbrooke} L2.9 Param Initialization
  • [Oh My C++ Diary]operator++()和operator++(int)的区别
  • [Oh My C++ Diary]内联函数