Web应用课 第二讲 CSS定义方式、选择器、颜色

news/2025/1/13 7:45:17/文章来源:https://www.cnblogs.com/zjq182/p/18230106

定义方式

行内样式表:只作用在单个元素

    <!--CSS定义方式1:行内样式表--><img src="/static/images/mountain.jpg" alt="山1" width="300"><img src="/static/images/mountain.jpg" alt="山2" style="width: 30%;"><!--二者效果相同-->

内部样式表:在单个页面内定义,作用域为整个页面

内部样式表一般定义在head域内,也可定义在body域内

<style type="text/css"> /* 设置页面中所有图片的样式 */img{  width: 300px;height: 200px;border-radius: 10%;}/* 设置页面中所有段落的样式 */p{width: 50px;height: 50px;background-color: lightseagreen;}/* 设置页面中所有class为blue-p的样式,注意类名前有. */.blue-p{background-color:lightblue;}/* 设置页面中所有class为big的样式,注意类名前有. */.big{height: 70px;width: 70px;}</style>

外部样式表:定义在页面外的单个css文件中,作用域为多个页面

在页面中使用link来应用外部样式表

<link rel="stylesheet" href="/static/css/style1.css" type="text/css">
<link> 标签常用的 MIME 类型是 "text/css",它规定样式表。
type 属性规定被链接文档/资源的 MIME 类型。只有当设置了 href 属性时,才能使用该属性。

注释

CSS只有多行注释

/*我是注释*/

选择器

标签选择器:选择所有标签

div{width: 100px;height: 100px;background-color: aquamarine;margin-bottom: 10px; /*外边距*/
}p{width: 50px;height: 70px;background-color: lightblue;
}

ID选择器:选择对应ID的标签

外部css文件

#mydiv{background-color: coral;
}#myp{background-color: blueviolet;
}

页面文件

<div id="mydiv">div 3</div>

类选择器:选择对应class的标签

外部CSS文件

/* 类选择器 */
.red-tag{background-color: brown;
}
.blue-tag{background-color: lightblue;
}
.big-tag{width: 120px;height: 120px;
}

页面文件

<p class="big-tag">p 4</p>
<div class="red-tag blue-tag">div 4</div>

伪类选择器:用于定义元素的特殊状态

链接伪类选择器

  • :link:链接访问前的样式
  • :visited:链接访问后的样式
  • :active:鼠标点击长按时的样式
  • :focus:聚焦后的样式
a:link{color: red;
}a:visited{color:green;
}a:hover{color:orange;
}a:active{color:purple;
}
  • :hover:鼠标悬停时的样式
.effect:hover{transform: scale(1.2);transition: 200ms;
}
/* 鼠标悬停,标签在200ms内逐渐变大1.2倍 */

位置伪类选择器

  • :nth-child(n):选择是其父标签第n个子元素的所有元素。

括号内接受an+b的形式,a代表一个循环的大小,n是一个计数器(从0开始),以及b是偏移量。
判断逻辑:若存在自然数n满足标签编号为an+b,则选中该标签

目标伪类选择器

  • :target:当url指向该元素时生效。
p:target{transform: scale(1.2);color:orange;transition: 1000ms;
}
/*通过链接访问时变色为橙色,同时在1s内变大1.2倍
<a href="#myp">about</a>
<p id="myp">p 3</p>

复合选择器:由两个及以上基础选择器组合而成的选择器

  • element1, element2:同时选择元素element1和元素element2。
p,div{width: 50px;height: 70px;background-color: greenyellow;
}
  • element.class:选则包含某类的element元素。
div.big{transform: scale(1.2);
}
  • element1 + element2:选择紧跟element1的element2元素。
p + div{background-color: blueviolet;
}
//作用在紧跟在p后面的div
  • element1 element2:选择element1内的所有element2元素。
ul ul{color:gold;
}
//选择ul内的ul元素
    <ul><li>1<ul><li>1.1</li><li>1.2</li><li>1.3</li></ul></li><li>2</li><li>3</li></ul>
  • element1 > element2:选择父标签是element1的所有element2元素。

通配符选择器

  • :选择所有标签

[attribute]:选择具有某个属性的所有标签

input[required]{background-color:red;
}
/*选择属性为required的input标签*/

[attribute=value]:选择attribute值为value的所有标签

input[type=text]{background-color: aqua;
}
/*选择type属性为text的input标签*/

伪元素标签

将特定内容当做一个元素,选择这些元素的选择器被称为伪元素选择器。
::first-letter:选择第一个字母

p::first-letter{color: red;font-size: 110%;
}
/*选择每段第一个字符*/

::first-line:选择第一行

p::first-line{color: red;font-size: 110%;
}

::selection:选择已被选中的内容

p::selection{background-color: aquamarine;color:yellow;
}

::after:可以在元素后插入内容
::before:可以在元素前插入内容

h1::before{content: "《";
}
h1::after{content:"》";
}
/*给h1标题加上书名号*/

样式优先级

  • 权重大小,越具体的选择器权重越大:!important > 行内样式 > ID选择器 > 类与伪类选择器 > 标签选择器 > 通用选择器
  • 权重相同时,后面的样式会覆盖前面的样式
  • 继承自父元素的权重最低

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/723648.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3自定义指令(图片懒加载)

一、作用: 创建类似与v-for、v-on的指令;本文以图片的懒加载为例 注册函数: app.directive(key, directive); 二、vue3自定义指令钩子函数 created:在绑定元素的 attribute 或事件监听器被应用之前调用。在指令需要附加在普通的 v-on 事件监听器调用前的事件监听器中时,这…

探讨GIS在市场分析、商业选址和物流优化中的核心作用

在当今竞争激烈的商业环境中,精确的数据分析与洞察力是企业制胜的关键。地理信息科学(GIS)作为一种强大的空间分析工具,正逐步渗透并重塑商业智能的多个层面。本文将深入剖析GIS如何在市场分析、商业选址以及物流优化中发挥着不可小觑的作用,为企业战略决策提供精准导航。…

MySql 增、删、改、查数据库

创建 数据库 前言 之前几天写了MySql 的GROUP BY 语句和 JOIN 语句,今天补一下创建数据库、表的语句。首先假设已经暗转好MySQL 数据库,然后创建数据库、表。 创建数据库 create database [if not exists] 数据库名;[CHARACTER SET charset_name][COLLATE collation_name];if…

【mysql】PROCESSLIST 查看运行中的线程

发现 mysql 语句查询响应特别慢,想看一下mysql现时正在做什么事情? 通过以下语句,可以看mysql有哪些线程正在运行,也可以帮助定位问题。比如有一些运行特别久的语句。 用这个语句看一下:show processlist show full processlist或者用这个语句:select * from information…

e语言 获取微信安装路径

demo本文来自博客园,作者:__username,转载请注明原文链接:https://www.cnblogs.com/code3/p/18243409

已经解决: 未连接:有潜在的安全问题 Firefox 检测到潜在的安全威胁,并因 github.com 要求安全连接而没有继续

最近在访问github.com网站的时候,提示安全问题而不能访问,尝试添加例外网站地址后得以解决,分享给需要的朋友。 访问github网站出现的问题 解决 未连接:有潜在的安全问题 Firefox 检测到潜在的安全威胁,并因 github.com 要求安全连接而没有继续。把https://github.com添加…

专业的跨网软件,需要具备怎样的产品性能及优势?

国家对数据安全要求和管理日益严格,要求规范化和标准化。像军工单位、科研院所、高科技企业、医疗医药、高新制造等单位,会涉及到核心保密数据。因此为了保护网络不受外部威胁和内部误操作的影响,通常会进行网络隔离,隔离成内网和外网。下面可以了解一些隔离方式:1.网闸/光…

[OpenBMC] LDAP 设定(三) - LDAPS(LDAP over TLS)

终于到了最后一个部分 LDAPS, 这部分我们会依序介绍TLS的原理(这边会补充密码学基础)非对称式加密 vs 对称式加密 数位签章 数位凭证 TLS 握手(hankshake)如何产生凭证 上传凭证到LDAP Server 上传凭证到BMC 有可能会遇到的问题 (补充我遇到的问题) TLS的原理 对称式加密 vs 非…

支持多样化同步需求的增量数据同步方案,了解一下!

增量数据同步方案是一种在数据管理中广泛使用的技术,它主要目的是高效地同步源数据和目标数据之间的数据变化。目前越来越多的企业要求内部各种业务数据在多台服务器之间、多个数据中心之间,乃至多云和本地之间调度和同步,增量数据同步也成为越来越普遍的需求。企业IT部门管…

FPGA/ZYNQ:中值滤波

一、简述 滤波是图像处理领域应用非常广泛的工具之一,它可以改善图像质量,包括去除高频噪声与干扰、图像平滑等。我们常见的空间滤波有中值滤波和均值滤波。图像可以看成是一个定义在二维平面上的信号,该信号的幅值对应像素的灰度(彩色图像对应 RGB 三个分量)。图像的频率…

2024.6.13(周四)

H = 2 * eye(3);f = zeros(3,1);Aeq = [1 1 0; 1 0 1];beq = [1;0];x0 = [0; 0; 0];% 调用quadprog函数求解[x,fval] = quadprog(H, f, [], [], Aeq, beq, [], [], x0);disp(最优解为:); disp(x); disp(对应的最优值为:); disp(fval);