智慧的网络爬虫之CSS概述

news2024/11/23 9:31:48

智慧的网络爬虫之CSS概述

CSS 是“Cascading Style Sheet”的缩写,中文意思为“层叠样式表”,用于描述网页的表现形式。如网页元素的位置、大小、颜色等。css的主要作用是定义网页的样式。

CSS样式

1. 行内样式

行内样式:直接定义在 HTML 标签的 style 属性中

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Title</title>
  </head>
  <body>
    <!--行内样式-->
    <p style="color: green;">段落</p>
    <p style="color: blueviolet;">段落</p>
    <p style="color: plum;">段落</p>
  </body>
</html>
2. 内嵌样式

HTML 头部(<head>标签内)的<style>标签中定义 CSS 样式。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p{
            background-color: black;
            color: blue;
        }
    </style>
</head>
<body>
<div>
    <p>第一段落</p>
    <p>第二段落</p>
    <span>一个span标签</span>
</div>
</body>
</html>
3. 外部样式

CSS 样式定义在一个 .css 格式的文件中,然后使用 HTML 的<link>标签将这个 .css 格式的样式文件应用到 HTML 文档中。

css文件

div{
    background: aquamarine;
}
p{
    color: red;
    background: black;
}

html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="d1.css">
</head>
<body>
<div>
    <p>这是第一段落</p>
    <p>这是第二段落</p>
    <span>这是一个span标签</span>
</div>
</body>
</html>

样式优先级

行内样式 > 内嵌样式 > 外部样式 注意:尽量不要在同一个Html文件中使用多种样式

  • 如果样式是固定并且不修改并且很少情况,使用内部样式
  • 如果样式针对当前html页面做的样式,并且代码量不是很大的的情况下, 使用内联样式
  • 如果样式是通用,且css代码很多,使用外部样式,需要创建一个css文件,引入。

CSS选择器

1. 通用选择器

通用选择器用星号*表示,它不匹配某个特定的 HTML 元素,而是匹配 HTML 文档中的每个元素,开发中通常使用通用选择器来清除 HTML元素中默认的内外边距

通用选择器格式:*{}

* {
    margin: 0 auto;
    padding: 0;
}
2. 标签选择器

根据标签的名字 进行选择匹配

标签选择器格式:标签名{}

p{
	color: red
}
span{
	color: blue
}
3. ID选择器/类选择器

根据标签的ID属性或者class属性来匹配,ID选择器的定义需要用到#,后面紧跟ID属性值,类选择器的定义需要用到一个英文的句号.,后面紧跟 class 属性的值

ID选择器格式: #ID名{}
#d1{
	background: aquamarine;
}

类选择器格式:.类名{}
.c1{
	background: black;
}

<div>
    <span id="d1">ID选择器</span>
	<span class="c1">类选择器</span>
</div>

4. 层级选择器
  • 后代选择器
  • 子选择器
<div>
    <span id="d1">ID选择器</span><br>
	<span class="c1">类选择器</span><br>
    <a href="#"><span>这是一个超链接</span></a>
    <ul>
        <li><span>这是第一项</span></li>
        <li><span>这是第二项</span></li>
    </ul>
</div>

span标签是div标签的后代标签,a标签也是div的后代标签

后代选择器的格式: 父标签名 子标签名{}  通过父标签去定位找到子标签 能够匹配到div下面所有符合条件的标签
子代选择器的格式: 父标签 > 子标签{}  通过父标签去定位找到子标签 能够匹配到div下直系的子标签

后代选择器使用
div span{
	color: red
}

子代选择器使用
div > span{
	background: black;
}
5. 组合选择器

组合选择器可以将同样的样式应用到多个选择器中,每个选择器中用逗号隔开

<div>
    <span id="d1">ID选择器</span><br>
	<span class="c1">类选择器</span><br>
    <a href="#"><span>这是一个超链接</span></a>
    <ul>
        <li><span>这是第一项</span></li>
        <li><span>这是第二项</span></li>
    </ul>
</div>

样式代码
span,a{
	color:red
} /* 该样式将会运用在所有的span标签和a标签中  */

#d1,.c1{
	color:blue
} /* 该样式将会运用在所有id属性为d1,class属性为c1的标签中  */
6、伪类选择器

伪类选择器是一种特殊的选择器,可以用来选择处于特定状态的元素,例如未被访问的链接、已被访问的链接、鼠标悬停在上面的元素、活动元素和获得焦点的表单元素等

  • :link伪类选择器:选择所有未被访问的链接。
  • :visited伪类选择器:选择所有已被访问的链接。
  • :hover伪类选择器:选择鼠标悬停在上面的元素。
  • :active伪类选择器:选择活动元素,即鼠标按下未弹起的元素。
  • :focus伪类选择器:选择获得焦点的元素,一般是表单元素,如类。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        span:hover{
            color: red;
        }

        a:link{
            color: red;
        }
        a:active{
            color: blue;
        }
        a:visited{
            color: yellow;
        }
        a{
            font-size: larger;
        }
    </style>
</head>
<body>
<div class="f">
    <div class="box1"><span>这是一个span标签</span></div>
    <div class="box2"><a href="#">这是一个链接</a></div>
</div>
</body>
</html>

CSS盒子模型

盒子模型是网页设计中经常用到的一种思维模型,由四个部分构成,从内到外分别为内容区(content)、内边距(padding)、边框(border)和外边距(margin),CSS 为这四个部分提供了一系列相关属性,通过对这些属性的设置可以丰富盒子的表现效果。

在这里插入图片描述

盒子的组成

  • 外边距:margin
  • 内边距:padding
  • 边框:border
  • 内容:content
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>Title</title>
	<style>
		div {
			background-color: lightgrey;
			width: 300px;
			border: 25px solid green;
			padding: 25px;
			margin: 25px;
		}
	</style>
</head>
<body>
	<h2>盒子模型演示</h2>
	<p>CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。</p>
	<div>这里是盒子内的实际内容。有 25px 内间距,25px 外间距、25px 绿色边框。</div>
</body>
</html>
1. margin
  • 盒子的外边距,是透明的 只能设置他的边距
  • margin包含了上下左右四条边,开发者可以单独设置每一条边的边距。
margin-top:上边距
margin-buttom:下边距
margin-left:左边距
margin-right:右边距

在这里插入图片描述

2. padding
  • 盒子的内边距

  • 与外边距不同,padding不是只能完全透明的,可以设置背景颜色和图片。

  • margin类似,padding包含了上下左右四条边,开发者可以单独设置每一条边的边距。

padding-top:上部填充
padding-bottom:下部填充
padding-left:左部填充
padding-right:右部填充
3.border
  • border表示盒子的边界,它可以设置成可见的,样式多样的。
  • bordermarginpadding一样可以分别对每一条边进行设置。
border-top:上边界
border-bottom:下边界
border-left:左边界
border-right:右边界

浮动

浮动可以使一个元素脱离自己原本的位置,并在父元素的内容区中向左或向右移动,直到碰到父元素内容区的边界或者其它浮动元素为止 float 属性有三个可选值,如下表所示:

描述
left元素向左浮动
right元素向右浮动
none默认值,元素不浮动

当父元素未设置高度时,父元素的高度会取决于子元素的高度。当子元素设置浮动后,会脱离文档流,造成子元素的内容在父元素外出现,这种情况下,父元素的高度可能会塌陷到0

<!DOCTYPE html>
<html>
<head>
    <style>
        .box{
            border: 2px solid red;
            height: 400px;
            width: 312px;
        }
        .div1{
            height: 100px;
            width: 100px;
            float: left;
            border: 2px solid yellow;
        }
        .div2{
            float: left;
            height: 100px;
            width: 100px;
            border: 2px solid blue;
        }
        .div3{
            height: 100px;
            width: 100px;
            float: left;
            border: 2px solid black;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="div1">div1</div>
        <div class="div2">div2</div>
        <div class="div3">div3</div>
    </div>
</body>
</html>
清除浮动

元素浮动之后,会对周围的元素造成一定的影响,为了消除这种影响您可以使用 clear 属性来清除浮动,属性的可选值如下:

描述
left左侧不允许浮动元素
right右侧不允许浮动元素
both左右两侧均不允许浮动元素

定位

CSS 中的 position 属性用来设置元素在页面中的位置,通过该属性您可以把任何属性放置在任何您认为合适的位置。position常用的属性值有relative, absolute, fixed

属性名描述
position: relative相对定位,即相对于元素的正常位置进行定位,不会对其他元素造成影响
position: absolute绝对定位,相对于第一个带有定位属性的父元素进行定位 默认是浏览器
position: fixed固定定位,相对于浏览器的创建进行定位
相对定位
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .box1{
            width: 100px;
            height: 100px;
            background-color: black;
            opacity: 0.5; /*透明度*/
            position: relative;
            left: 150px;
            top: 150px;
        }
        .box2{
            width: 200px;
            height: 200px;
            background-color: green;
        }

    </style>
</head>
<body>
    <div class="box1"></div>
    <div class="box2"></div>
</body>
</html>
绝对定位
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .box1{
            width: 100px;
            height: 100px;
            background-color: black;
            opacity: 0.5; 
            /*绝对定位 不会保留原来的位*/
            position: absolute;
            left: 150px;
            top: 150px;
        }
        .box2{
            width: 200px;
            height: 200px;
            background-color: green;
        }
    </style>
</head>
<body>
    <div class="box1"></div>
    <div class="box2"></div>
</body>
</html>

th: 100px;
height: 100px;
background-color: black;
opacity: 0.5;
/绝对定位 不会保留原来的位/
position: absolute;
left: 150px;
top: 150px;
}
.box2{
width: 200px;
height: 200px;
background-color: green;
}

~~~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL高级-SQL优化- update 优化(尽量根据主键/索引字段进行数据更新,避免行锁升级为表锁)

文章目录 0、update 优化1、创建表2、默认是行锁3、行锁升级为表锁4、给name字段建立索引 0、update 优化 InnoDB的行锁是针对索引加的锁&#xff0c;不是针对记录加的锁&#xff0c;并且该索引不能失效&#xff0c;否则会从行锁升级为表锁。 1、创建表 create table course(…

MySQL事务——Java全栈知识(31)

1、事务的特性 原子性&#xff08;Atomicity&#xff09;&#xff1a;事务是不可分割的最小操作单元&#xff0c;要么全部成功&#xff0c;要么全部失败。 一致性&#xff08;Consistency&#xff09;&#xff1a;事务完成时&#xff0c;必须使所有的数据都保持一致状态。 隔离…

重要通知:据最新TEMU要求所有欧区车灯都需要能效标签(eu energy lable)

重要通知&#xff1a; 据最新TEMU要求&#xff0c;所有“欧区车灯”都需要能效标签&#xff08;eu energy lable&#xff09;&#xff0c;目前已下架欧区站点&#xff0c;上传成功后可恢复。 灯具类欧盟EU ENERGY LABEL 近日有不少欧洲站卖家收到TEMU平台商品要求卖家们发布的…

机器学习分类自动调参算法(含python示例:后台私我拿数据集哦)

第一步&#xff1a;读取数据 我这里是把文件存在当前文件夹&#xff0c;新建的data文件夹里。如果不知道把数据放在哪里可以先看一下path是什么&#xff0c;然后把data 文件夹存在path下的路径中。 file bennett20tm.xlsx path os.path.join(os.path.dirname(os.getcwd()),…

P1114 “非常男女”计划最优解

原题地址 P1114 “非常男女”计划 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 代码题解 AC代码&#xff08;1&#xff09; 因为用的是级的算法&#xff0c;所以最后一个 了&#xff0c;这里使用特判来得到的&#xff0c;给你们放一下代码&#xff1a; #include <bi…

ServletConfig与ServletContext详解

文章目录 概要web.xmlServletConfig介绍ServletConfig实例ServletConfig细节ServletContext介绍ServletContext实例ServletContext细节ServletContext获得服务访问次数&#xff08;可拓展&#xff09;总结 概要 web.xml <?xml version"1.0" encoding"UTF-…

荣耀终端发布首个端侧AI反诈检测技术,助力用户防范网络诈骗

在今日盛大开幕的2024年上海世界移动通信大会上&#xff0c;荣耀终端以卓越的创新实力引领行业潮流&#xff0c;率先发布了手机行业中首个端侧AI反诈检测技术。该技术旨在为用户提供更加安全、可靠的网络通信体验&#xff0c;助力防范日益猖獗的网络诈骗行为。 AI-321 | 专注全…

count()方法——统计字符串出现次数

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 count()方法用于统计字符串中某个字符出现的次数&#xff0c;如起始位置从11到结束位置17之间字符出现的次数&#xff0c;如图1所示。 图1…

柔性数组(flexible array)

柔性数组从C99开始支持使用 1.柔性数组的概念 概念&#xff1a; 结构体中&#xff0c;结构体最后一个元素允许是未知大小的数组&#xff0c;这就叫[柔性数组]的成员 struct S {int n;char arr[]; //数组大小未知(柔性数组成员) }; 柔性数组的特点&#xff1a; 结构体中柔性…

【蓝桥杯省赛真题46】python数字币统计 中小学青少年组蓝桥杯比赛 算法思维python编程省赛真题解析

目录 python数字币统计 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python数字币统计 第十四届蓝桥杯青少年组python比赛省赛真题 一、题目…

Autoware 学习

Autoware不同版本介绍 Autoware官方说明文档&#xff1a;https://autowarefoundation.github.io/autoware-documentation/main 使用ROS2和Autoware的自动驾驶汽车免费在线进阶课 译 https://bbs.huaweicloud.com/blogs/detail/283058 Autoware.AI 第一个基于 ROS 1 发布的 Au…

linux的CP指令

实现 CP 指令 src 源文件 des 目标文件 执行流程&#xff1a; 打开源文件&#xff08; src &#xff09; open 打开目标文件&#xff08; des &#xff09; open 写入目标文件 write 读取 src 文件到缓存数组 read 关闭目标文件和源文件 close ./a.out src.c de…

用Vue3和Plotly.js打造一个交互式3D图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 3D交互式曲面图绘制 应用场景 本代码适用于需要绘制3D交互式曲面图的场景&#xff0c;如科学数据可视化、地理数据展示、医疗成像等领域。 基本功能 此代码基于Plotly.js库&#xff0c;实现了以下基本功能&…

如何打造安全DNS以保障业务可用?一文解读

DNS自1987年被实施以来&#xff0c;已成为网络通信中最重要的核心基础设施&#xff0c;同时也是企业对外提供数字服务的关键。没有正常安全的DNS服务&#xff0c;企业经营也就无从谈起。在DNS攻击逐年上升且容易被忽略的现代应用时代&#xff0c;如何打造安全DNS&#xff1f;本…

嘉立创学习

1.两个设置&#xff0c;一般用左边那个 2.焊盘分类 基本焊盘 热风盘&#xff1a;也叫花焊盘&#xff08;负片&#xff09; 隔离焊盘&#xff1a;外面那圈黑色&#xff0c;用作隔离&#xff08;负片&#xff09; 钢网层&#xff1a;&#xff08;锡膏&#xff09; 阻焊层&…

达索系统智能制造巡展路演重庆站圆满结束

2024 年 6 月 21 日&#xff0c;达索系统智能制造巡展路演重庆站成功举办。 会议背景 近年&#xff0c;在人工智能、数字孪生&#xff0c;物联网等新兴技术的推动下&#xff0c;智能制造已然成为中国制造业转型升级的“新质生产力”&#xff0c;它让传统制造业脱胎换骨的同时…

vue2axios的使用

1.安装axios npm i axios 2.配置代理服务器 1.在config.js中配置单个代理服务器 // 开启代理服务器 需要重新启动项目devServer: {proxy: http://localhost:5000}配置简单&#xff0c;请求资源时直接发给前端&#xff08;8080&#xff09;即可&#xff1b;但不能配置多个代理…

经验分享之会员 SaaS 系统

前言 2018年&#xff0c;这是不平凡的一年&#xff1b;互联网行业的中台战略、会员经济等模式如火如荼&#xff0c;同时也逐渐地走入我们公司每个人的视野。在南海集团的战略规划背景下&#xff0c;当时我所在的公司作为集团的研发中心&#xff0c;承担了对会员 SaaS 系统的建…

【漏洞复现】金和OA 任意文件上传

【产品介绍】 金和OA协同办公管理系统C6软件&#xff08;简称金和OA&#xff09;&#xff0c;本着简单、适用、高效的原则&#xff0c;贴合企事业单位的实际需求&#xff0c;实行通用化、标准化、智能化、人性化的产品设计&#xff0c;充分体现企事业单位规范管理、提高办公效…

人脑计算机技术与Neuroplatform:未来计算的革命性进展

引言 想象一下&#xff0c;你在某个清晨醒来&#xff0c;准备开始一天的工作&#xff0c;而实际上你的大脑正作为一台生物计算机的核心&#xff0c;处理着大量复杂的信息。这并非科幻电影的情节&#xff0c;而是人脑计算机技术即将带来的现实。本文将深入探讨FinalSpark公司的…