29. CSS简介:PyQuery模块的铺垫

news/2024/11/27 20:37:26/

目录

什么是 CSS?

CSS 演示 - 一张 HTML 页面 - 多个样式!

为何使用 CSS?

CSS 实例

CSS 解决了一个大问题

CSS 节省了大量工作!

通俗的解释

CSS 选择器

CSS 元素选择器

实例

CSS id 选择器

实例

CSS 类选择器

实例

实例

实例

CSS 通用选择器

实例

CSS 分组选择器

实例

所有简单的 CSS 选择器

延伸阅读


什么是 CSS?

  • CSS 指的是层叠样式表* (Cascading Style Sheets)
  • CSS 描述了如何在屏幕、纸张或其他媒体上显示 HTML 元素
  • CSS 节省了大量工作。它可以同时控制多张网页的布局
  • 外部样式表存储在 CSS 文件

注:也称级联样式表。


CSS 演示 - 一张 HTML 页面 - 多个样式!

下面是一张提供了四个不同样式表的 HTML 页面。可以查看不同的样式:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>CSS Demo</title>
<style>/* Stylesheet 1: */
body {font: 100% Lucida Sans, Verdana;margin: 20px;line-height: 26px;
}.container {xmin-width: 900px;
}.wrapper {position: relative;overflow: auto;
}#top, #sidebar, #bottom, .menuitem {border-radius: 4px;margin: 4px;
}#top {background-color: #4CAF50;color: #ffffff;padding: 15px;
}#menubar {width: 200px;float: left
}#main {padding: 10px;margin: 0 210px;
}#sidebar {background-color: #32a4e7;color: #ffffff;padding: 10px;width: 180px;bottom: 0;top: 0;right: 0;position: absolute;
}#bottom {border: 1px solid #d4d4d4;background-color: #f1f1f1;text-align: center;padding: 10px;font-size: 70%;line-height: 14px;
}#top h1, #top p, #menulist {margin: 0;padding: 0;
}.menuitem {background-color: #f1f1f1;border: 1px solid #d4d4d4;list-style-type: none;padding: 2px;cursor: pointer;
}.menuitem:hover {background-color: #ffffff;
}.menuitem:first-child {background-color:#4CAF50;color: white;font-weight:bold;
}a {color: #000000;text-decoration: underline;
}a:hover {text-decoration: none;
}@media (max-width: 800px) {#sidebar {width: auto;position: relative;}#main {margin-right: 0;}}@media (max-width: 600px) {#menubar {width: auto;float: none;}#main {margin: 0;}
}
</style><style>/* Stylesheet 2: */
body {font-family: Arial;background-color: #d14836;line-height: 20px;
}.container {xmin-width: 900px;
}.wrapper {position: relative;overflow: auto;
}#top {color: #ffffff;padding: 15px;font-size: 30px;line-height: 26px;
}#top h1 {margin:0;line-height: 50px;
}#menubar {width: 190px;float: right;
}#main {padding: 10px;background-color: #ffffff;font: 80% Verdana;
}#main h1, #main h2 {color: #d14836;
}#sidebar {background-color: #F6DAD7;color: #d14836;padding: 10px;
}#bottom {text-align: center;padding: 10px;font-size: 70%;color: #ffffff;
}#menulist {padding:0;font: 16px verdana;
}.menuitem {width: 155px;background-color: #d14836;border: 1px solid #d14836;border-radius: 40px;color: #ffffff;list-style-type: none;margin: 10px;padding: 5px;text-align: center;cursor: pointer;
}.menuitem:nth-child(2) {background-color:white;color: #d14836;font-weight:bold;
}.menuitem:hover {background-color: #ffffff;color: #d14836;
}a {color: #d14836;text-decoration: none;
}a:hover {text-decoration: underline;
}
</style><style>/* Stylesheet 3: */
body {font: 100% Verdana;margin: 20px;line-height: 26px;
}.container {xmin-width: 900px;
}.wrapper {position: relative;overflow: auto;
}#sidebar {background-color: #f1f1f1;border: 1px solid #d4d4d4;padding-left: 10px;
}#bottom {text-align: center;padding: 10px;font-size: 70%;line-height: 14px;
}h1, h2, h3 {color: #4CAF50;
}#menulist {padding: 0;position: relative;overflow: auto;
}.menuitem {width: 165px;float: left;background-color: #555555;color: #ffffff;list-style-type: none;margin: 4px;padding: 2px;text-align: center;cursor: pointer;
}.menuitem:nth-child(3) {background-color:#4CAF50;
}.menuitem:hover {background-color: #999999;
}a {color: #000000;
}a:hover {color: #84c754;
}
</style>
<style>/* Stylesheet 4: */
body {font: 100% Courier New;margin: 20px;line-height: 26px;background-color: #000000;
}.container {xmin-width: 900px;
}.wrapper {position: relative;overflow: auto;
}#top {color: #84c754;padding: 15px;
}#main {padding: 10px;color: #84c754;
}#sidebar {color: #ffffff;border: 1px solid #ffffff;border-radius: 4px;padding: 10px;width: 320px;top: 0;right: 0;position: absolute;font-size: 80%;line-height: 20px;
}#bottom {border: 1px solid #ffffff;border-radius: 4px;color: #ffffff;text-align: center;padding: 10px;font-size: 70%;line-height: 14px;
}#top h1,#top p {margin: 0;
}.menuitem {color: #84c754;cursor: pointer;
}.menuitem:nth-child(4) {color:white;font-weight:bold;
}.menuitem:hover {color: #ffffff;
}a {color: #ffffff;
}a:hover {color: #84c754;
}
@media (max-width: 600px) {#sidebar {width: auto;margin-bottom:10px;position: relative;}
}</style></head>
<body><div class="container wrapper"><div id="top"><h1>欢迎访问我的首页</h1><br><p>请使用菜单来选择不同的样式表。</p></div><div class="wrapper"><div id="menubar"><ul id="menulist"><li class="menuitem" onclick="reStyle(0)">样式表 1</li><li class="menuitem" onclick="reStyle(1)">样式表 2</li><li class="menuitem" onclick="reStyle(2)">样式表 3</li><li class="menuitem" onclick="reStyle(3)">样式表 4</li><li class="menuitem" onclick="noStyles()">无样式表</li></ul></div><div id="main"><h1>相同页面不同的样式表</h1><p>这是不同样式表如何更改HTML页面布局的演示。您可以通过在菜单中选择不同的样式表或选择以下链接之一来更改此页面的布局:<br><a href="#" onclick="reStyle(0);return false">样式表1</a>,<a href="#" onclick="reStyle(1);return false">样式表2</a>,<a href="#" onclick="reStyle(2);return false">样式表3</a>,<a href="#" onclick="reStyle(3);return false">样式表4</a>.</p><h2>无样式</h2><p>此页面使用 div 元素对 HTML 页面的不同部分进行分组。单击此处查看没有样式表的页面的外观:<br><a href="#" onclick="noStyles();return false">无样式表</a>。</p></div><div id="sidebar"><h3>侧栏</h3><p>侧边栏其实就是一种比较经典的网站导航设计,它的形式通常为竖向的一列,展示在网站的右侧或者左侧,具体的位置当然是取决于整体的设计。</p></div></div><div id="bottom"><p>网站的页脚是位于每个页面底部的内容区域,在主内容的下面。</p><p>术语“页脚”来自于印刷,其中页脚是贯穿文档所有页面的一致性设计元素。</p></div>
</div><script>
function noStyles() {document.styleSheets[0].disabled = true;document.styleSheets[1].disabled = true;document.styleSheets[2].disabled = true;document.styleSheets[3].disabled = true;
}function reStyle(n) {noStyles()document.styleSheets[n].disabled = false;
}function closeBlackdiv() {var blackdiv, stylediv;blackdiv = document.getElementById("blackdiv")blackdiv.parentNode.removeChild(blackdiv);stylediv = document.getElementById("stylediv")stylediv.parentNode.removeChild(stylediv);
}function showStyle(n) {
var div, text, blackdiv;
blackdiv = document.createElement("DIV");
blackdiv.setAttribute("style","background-color:#000000;position:absolute;width:100%;height:100%;top:0;opacity:0.5;margin-left:-20px;");
blackdiv.setAttribute("id","blackdiv");
blackdiv.setAttribute("onclick","closeBlackdiv()");
document.body.appendChild(blackdiv);
div = document.createElement("DIV");
div.setAttribute("id","stylediv");
div.setAttribute("style","background-color:#ffffff;padding-left:5px;position:absolute;width:auto;height:auto;top:100px;bottom:50px;left:200px;right:200px;overflow:auto;font-family: monospace; white-space: pre;line-height:16px;");
text = document.createTextNode(document.getElementsByTagName("STYLE")[n].innerHTML);
div.appendChild(text);
document.body.appendChild(div);
//alert(document.getElementsByTagName("STYLE")[n].innerHTML);
}
reStyle(0);
</script></body>
</html>

为何使用 CSS?

CSS 用于定义网页的样式,包括针对不同设备和屏幕尺寸的设计和布局。

CSS 实例

body {background-color: lightblue;
}h1 {color: white;text-align: center;
}p {font-family: verdana;font-size: 20px;
}

亲自试一试


CSS 解决了一个大问题

HTML 从未打算包含用于格式化网页的标签!

创建 HTML 的目的是描述网页的内容,例如:

<h1>这是一个标题。</h1><p>这是一个段落。</p>

将 <font> 之类的标签和 color 属性添加到 HTML 3.2 规范后,Web 开发人员的噩梦开始了。大型网站的开发将字体和颜色信息添加到每个页面中,这演变为一个漫长而昂贵的过程。

为了解决这个问题,万维网联盟(W3C)创建了 CSS。

CSS 从 HTML 页面中删除了样式格式!

如果对 HTML 还不了解,建议移步我的 HTML 入门进阶与实战 专栏。


CSS 节省了大量工作!

样式定义通常保存在外部 .css 文件中。

通过使用外部样式表文件,您只需更改一个文件即可更改整个网站的外观!


通俗的解释

HTML是网页骨架,相当于人脸素颜

CSS是网页样式,相当于化妆美颜

两者对于网页,尤其是优质网页而言都是尤为重要的。


CSS 选择器

CSS 选择器用于“查找”(或选取)要设置样式的 HTML 元素。

我们可以将 CSS 选择器分为五类:

  • 简单选择器(根据名称、id、类来选取元素)
  • 组合器选择器(根据它们之间的特定关系来选取元素)
  • 伪类选择器(根据特定状态选取元素)
  • 伪元素选择器(选取元素的一部分并设置其样式)
  • 属性选择器(根据属性或属性值来选取元素)

我们将了解最基本的 CSS 选择器。


CSS 元素选择器

元素选择器根据元素名称来选择 HTML 元素。

实例

在这里,页面上的所有 <p> 元素都将居中对齐,并带有红色文本颜色:

p {text-align: center;color: red;
}

亲自试一试


CSS id 选择器

id 选择器使用 HTML 元素的 id 属性来选择特定元素。

元素的 id 在页面中是唯一的,因此 id 选择器用于选择一个唯一的元素!

要选择具有特定 id 的元素,请写一个井号(),后跟该元素的 id。

实例

这条 CSS 规则将应用于 id="para1" 的 HTML 元素:

#para1 {text-align: center;color: red;
}

亲自试一试

注意:id 名称不能以数字开头。


CSS 类选择器

类选择器选择有特定 class 属性的 HTML 元素。

如需选择拥有特定 class 的元素,请写一个句点(.)字符,后面跟类名。

实例

在此例中,所有带有 class="center" 的 HTML 元素将为红色且居中对齐:

.center {text-align: center;color: red;
}

亲自试一试

还可以指定只有特定的 HTML 元素会受类的影响。

实例

在这个例子中,只有具有 class="center" 的 <p> 元素会居中对齐:

p.center {text-align: center;color: red;
}

亲自试一试

HTML 元素也可以引用多个类。

实例

在这个例子中,<p> 元素将根据 class="center" 和 class="large" 进行样式设置:

<p class="center large">这个段落引用两个类。</p>

亲自试一试

注意:类名不能以数字开头!

另注:如果有冲突的元素,将以后面的类为基准。


CSS 通用选择器

通用选择器(*)选择页面上的所有的 HTML 元素。

实例

下面的 CSS 规则会影响页面上的每个 HTML 元素

* {text-align: center;color: blue;
}

亲自试一试


CSS 分组选择器

分组选择器选取所有具有相同样式定义的 HTML 元素

请看下面的 CSS 代码(h1、h2 和 p 元素具有相同的样式定义):

h1 {text-align: center;color: red;
}h2 {text-align: center;color: red;
}p {text-align: center;color: red;
}

最好对选择器进行分组,以最大程度地缩减代码。

如需对选择器进行分组,请用逗号来分隔每个选择器

实例

在这个例子中,我们对上述代码中的选择器进行分组:

h1, h2, p {text-align: center;color: red;
}

亲自试一试


所有简单的 CSS 选择器

选择器例子例子描述
.class.intro选取所有 class="intro" 的元素。
#id#firstname选取 id="firstname" 的那个元素。
**选取所有元素。
elementp选取所有 <p> 元素。
element,element,..div, p选取所有 <div> 元素和所有 <p> 元素。

延伸阅读

课外书:CSS 元素选择器

课外书:CSS 选择器分组

课外书:CSS 类选择器详解

课外书:CSS ID 选择器详解

课外书:CSS 属性选择器详解

课外书:CSS 后代选择器

课外书:CSS 子元素选择器

课外书:CSS 相邻兄弟选择器


http://www.ppmy.cn/news/18627.html

相关文章

自定义类型:结构体,枚举,联合

目录一、结构体内存对齐二、位段2.1 什么是位段2.2 位段内存分配规则2.3 位段的跨平台问题三、枚举四、联合体4.1 联合类型的定义4.2联合的特点4.3 联合大小的计算4.4 练习一、结构体内存对齐 struct s {char c1;int i;char c2; }; int main() {printf("%d\n", size…

07.C语言文件操作

1. 使用文件的原因我们前面学习结构体时&#xff0c;写了通讯录的程序&#xff0c;当通讯录运行起来的时候&#xff0c;可以给通讯录中增加、删除数据&#xff0c;此时数据是存放在内存中&#xff0c;当程序退出的时候&#xff0c;通讯录中的数据自然就不存在了&#xff0c;等下…

初识 Bootstrap4(前端开发框架)

初识 Bootstrap&#xff08;前端开发框架&#xff09;参考Bootstrap特点获取目录结构jQuery 与 Popper准备工作包含 jQuery 与 Poppermetabox-sizing基本模板无注释版本注释版本参考 项目描述Bootstrap 官方教程https://getbootstrap.net/docs/getting-started/introduction/百…

LCHub:全新华为云Astro低代码平台,重塑企业数字化转型

为什么技术创新与业务突破难以挂钩?为什么寻求的卓越成果总难以实现?华为云Astro呈上解决之道,抓住重点一招致胜,让人人皆可高效开发,使创新按照你的步调进行。 华为云Astro低代码平台,重塑企业数字化转型 当企业倍受数字化升级困扰时,若仍延用传统编码开发,则会阻碍整…

StructuredStreaming Sink

StructuredStreaming Sink Output Modes append 默认追加模式, 将新的数据输出&#xff0c;只支持简单查询 complete 完整模式&#xff0c;支持聚合和排序 update 更新模式&#xff0c;支持聚合不支持排序&#xff0c;没有聚合和append一样 下面这段操作&#xff0c;有聚合…

【Java寒假打卡】JavaWeb-ServletContext

【Java寒假打卡】JavaWeb-ServletContext概述域对象ServletContext的配置方式ServletContext的常用方法ServletContext共享数据的方法概述 ServletContext是应用上下文对象&#xff08;应用域对象&#xff09;。每一个应用中只有一个ServletContext对象作用&#xff1a;可以配…

java spring IOC外部Bean注入

外部Bean注入也是一种Bean操作的属性注入 但这次我们要注入的是一个类对象 我们先创建spring项目 引入基本依赖 然后在src下创建两个包 gettingStarted 和 generate 这个名字可以随便取 但和我同名 可以让你们不会出现 名称不一样导致资源找不到的问题 然后在 gettingStarte…

文件操作详解-IO

目录 1.认识文件 2.文件的类型 3.java对文件的操作 针对文件系统操作 针对文件内容操作 字节流 字符流 字节流的使用 字符流的使用 4.文件IO小程序练习 示例1 示例2 1.认识文件 狭义的文件指的是硬盘上的文件和目录 广义的文件泛指计算机中的很多的软硬件资源,操…