Python全栈 Web(CSS样式表、选择器)

简介:










CSS层叠样式表:
(Cascading Style Sheet)
作用:
装饰和美化页面元素,实现网页的排版布局
                  CSS为HTML标记语言提供了一种样式描述,定义了其中元素的显示方式。
                  CSS在Web设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素
                  CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力
使用:
1.行内样式/内联样式:
特点:
在具体的标签中使用参style属性,引入CSS的样式的代码
语法:
<标签 style=“CSS” 样式声明>
1)样式声明/CSS语句:
对当前元素添加样式
语法:
CSS属性:值;
2)
CSS的样式声明可以是多条
<标签 style=“属性:值; 属性:值;”>
常见的CSS属性:
1》.设置字体大小
属性:
funt-size
取值:
以像素为单位的数值 默认16px
2》.设置字体颜色
属性:
color
取值:
颜色的英文单词
3》.设置背景颜色:
属性:
background-color
取值:
颜色的英文单词
2.文档内嵌/内部样式表:
特点:
将CSS代码与具体的标签相分离,在HTML文档中使用<style></style>标签引入CSS代码
语法:
<style>
选择器1
选择器2
选择器3
...
</syle>
选择器:
使用文档内嵌方式引入CSS样式表时,实现了结构与样式分离
凡是需要自己定义选着器来匹配文档中元素 与其他应用样式
作用:
匹配文档原数为其应用样式
语法:
选择器实际上由两部分组成
选择器(符){
属性:值;
属性:值;
}
标签选择器/元素选择器:
使用标签名作为选择符,匹配文档中所有的标签,并应用样式
注意:
<style></style>
可以写在任意位置 但是基于样式的优先原则,一般写在head里
3.外链方式/外部样式表:
定义外部的.css文件,在HTML中引入即可 真正实现文档与样式表的分离
语法:
在外部样式表中使用选着器来定义样式:
在HTML中用<link>引入CSS文件

样式表的特征:
继承性:
大部分的CSS属性都是可以被继承的
子元素或后代元素都是可继承父元素中的样式的
所有的文本属性都可以被继承
块元素的宽度与父元素保持一致
层叠性:
允许为元素定义多个样式,共同起作用

样式表的优先级:
低~高
1.浏览器的缺省设置:浏览器默认样式
2.文档内嵌/外链方式:在不发生样式冲突时:共同起作用,不冲突时:后来者居上
3.行内样式的优先级最高

CSS的选着器:
作用:
规范页面中哪些元素能够应用声明好的样式
目的:
匹配页面原素
详解:
1.标签选择器/元素选择器:
特点:
将标签名作为选择符,来匹配文档中所有的该标签,包含后代元素
语法:
p{
color: red;
text-decoration: none;
}

2.类选择器:
特点:
通过元素的class属性值进行匹配
语法:
.c1{
样式
}
<p class="c1">文本</p>

类选择器的结合使用:
1.
标签名.类名
表示在指定的标签中匹配的class属性值对应的元素
标签名一定要写在前面
语法:
p.c1{
样式
}
2.
.类名1.类名2(不常用)

3.
标签中使用两个选择器的样式
语法:
<p class="类名1 类名2">
3. ID 选择器:
作用:
HTML中所有的元素都有一个ID属性,主要用来表示元素在文档中的标志具有唯一性
通过元素的ID属性值进行匹配
*通常网页中外围的结构化标签。都使用ID进行标识  具有唯一性
语法:
#nav{
样式
}
<div id="nav">导航条</div>
4.群组选择器:
作用:
为多个选择器设置共同的样式
语法:
div,h1,...{
样式
}
<div></div>
<h1></h1>
...
5.后代选择器:
作用:
依托于元素的后代关系匹配元素
既包含直接子元素和后代子元素
语法:
选择器1 选择器2..{
样式
}
在选择器1对应的元素匹配后代元素,后代元素必须满足选择器2
6.子代选择器:
作用:
依托元素的子代关系进行匹配 只匹配直接子元素
语法:
选择器1>选择器2{
样式
}
在选择器1对应的元素中匹配直接子元素
7.伪类选择器:
1)超链接伪类选择器
2)动态伪类选择器
主要针对元素的不同状态去设置样式
超链接的不同状态
访问前:link
访问后:visited
激活(鼠标按住不放):active
鼠标滑过:hover
其他元素:
鼠标滑过
激活
表单控件:
获取焦点时的状态:focus
对密码框和文本框而言 当用户输入时都视为获取焦点
3)与其他选择器结合使用
设置元素在不同状态下的样式
语法:
a:link{
color:black;
}
如果要给超链接添加伪类选择器 必须按照以下顺序书写
link
visited
hover
active
选择器的优先级
当多个选择器的样式同时应用到一个元素上时 要按照不同选择器的优先级来应用样式

判断选择器的优先级 主要看选择器的权重(权值)

选择器  权值
标签选择器 1
类选择器/伪类 10
id选择器 100
行内选择器 1000

如果是复杂选择器(后代,子代)
最终权值是是各选择器之和

尺寸单位与颜色取值
尺寸单位
px   像素单位  默认单位
%    参照父元素对应属性的值进行获取
in   inch 英寸 1in = 2.54cm
pt   榜 1pt = 1/72 in
cm
mm
颜色单位
1.英文单词
2.rgb(r,g,b) 表示颜色
取值:
每一种三原色的取值范围:0~255
3.rgba(r,g,b,alpha)
设置颜色 还可以调整透明度
三原色的取值范围:0~255
alpha透明度取值:1/0
0:表示透明
1:表示不透明
取小数表示半透明。整数的0可以省略不写 0.5/.5
4.十六进制表示颜色:
三原色的取值为0~255
取值转换为十六进制
表示颜色:
长十六进制  6位表示方法
每两位为一组 代表一种三原色
#ff0000表示红色
短十六进制 3位表示
浏览器会自动对每一位进行重复补全,最终补全为十六进制


元素分类
HTML中标签分为
1. 块元素
特点 :
1. 独占一行,不与其他元素共行显示
2. 可以手动设置宽高
et : div h1 p ul ol table form
2. 行内元素
特点 :
1. 可以与其他元素或者文本共行显示
2. 不能手动设置宽高,元素的大小由内容决定
et : span i b label u s sub sup
3. 行内块元素
特点 :
既可以与其他元素共行显示,也可以手动设置宽高
et : img input
属性 :
可以通过 vertical-align设置行内块元素左右元素与其的垂直对齐方式
取值 : top / middle / bottom
注意 :vertical-align只在行内块元素中使用
行内元素是可以共行显示的,但是如果代码中出现了换行,页面最终效果上,行内元素之间会有空隙

相关文章
|
21天前
|
缓存 NoSQL 关系型数据库
在Python Web开发过程中:数据库与缓存,MySQL和NoSQL数据库的主要差异是什么?
MySQL是关系型DB,依赖预定义的表格结构,适合结构化数据和复杂查询,但扩展性有限。NoSQL提供灵活的非结构化数据存储(如JSON),无统一查询语言,但能横向扩展,适用于大规模、高并发场景。选择取决于应用需求和扩展策略。
112 1
|
10天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【4月更文挑战第9天】本文对比了Python三大Web框架Django、Flask和Pyramid。Django功能全面,适合快速开发,但学习曲线较陡;Flask轻量灵活,易于入门,但默认配置简单,需自行添加功能;Pyramid兼顾灵活性和可扩展性,适合不同规模项目,但社区及资源相对较少。选择框架应考虑项目需求和开发者偏好。
|
4天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
13 1
|
4天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
4天前
|
数据库 开发者 Python
Python中使用Flask构建简单Web应用的例子
【4月更文挑战第15天】Flask是一个轻量级的Python Web框架,它允许开发者快速搭建Web应用,同时保持代码的简洁和清晰。下面,我们将通过一个简单的例子来展示如何在Python中使用Flask创建一个基本的Web应用。
|
4天前
|
前端开发 数据挖掘 API
使用Python中的Flask框架进行Web应用开发
【4月更文挑战第15天】在Python的Web开发领域,Flask是一个备受欢迎的轻量级Web框架。它简洁、灵活且易于扩展,使得开发者能够快速地构建出高质量的Web应用。本文将深入探讨Flask框架的核心特性、使用方法以及在实际开发中的应用。
|
9天前
|
JavaScript 前端开发 Docker
全栈开发实战:结合Python、Vue和Docker进行部署
【4月更文挑战第10天】本文介绍了如何使用Python、Vue.js和Docker进行全栈开发和部署。Python搭配Flask创建后端API,Vue.js构建前端界面,Docker负责应用的容器化部署。通过编写Dockerfile,将Python应用构建成Docker镜像并运行,前端部分使用Vue CLI创建项目并与后端交互。最后,通过Nginx和另一个Dockerfile部署前端应用。这种组合提升了开发效率,保证了应用的可维护性和扩展性,适合不同规模的企业使用。
|
17天前
|
数据采集 Java API
python并发编程: Python使用线程池在Web服务中实现加速
python并发编程: Python使用线程池在Web服务中实现加速
17 3
python并发编程: Python使用线程池在Web服务中实现加速
|
15天前
|
监控 JavaScript 前端开发
《理解 WebSocket:Java Web 开发的实时通信技术》
【4月更文挑战第4天】WebSocket是Java Web实时通信的关键技术,提供双向持久连接,实现低延迟、高效率的实时交互。适用于聊天应用、在线游戏、数据监控和即时通知。开发涉及服务器端实现、客户端连接及数据协议定义,注意安全、错误处理、性能和兼容性。随着实时应用需求增加,WebSocket在Java Web开发中的地位将更加重要。
|
26天前
|
Web App开发 前端开发 开发工具
介绍Web开发的基础知识
介绍Web开发的基础知识
26 7