HTML标签、CSS介绍

标签的分类: 块级/行内

# 块级标签: 独占一行   h1~h6 p div 
"""
块儿级标签可以修改长宽. 行内标签不可以, 就算修改了也不会变化.块级标签内部可以嵌套任意的块级标签和行内标签. 特例: 是p标签虽然是块级标签 但是它只能嵌套行内标签 不能嵌套块级标签. 如果你套了 问题也不大 因为浏览器会自动帮你解除嵌套关系(浏览器是直接面向用户的 不会轻易的报错 哪怕有报错用户也基本感觉不出来)
"""# 行内标签: 自身文本多大就占多大. i u s b span
"""
行内标签不能嵌套块级标签, 只能嵌套行内标签.
"""# 补充: 上述的规定只是HTML书写规范 如果你不遵循 不会报错

img标签

# 图片标签
<img src="" alt="">src	1.图片的路径	可以是本地的也可以是网上的2.url自动朝该url发送get请求获取数据alt="这是我的前女友"当图片加载不出来的时候 给图片的描述性信息title="新垣结衣"当鼠标悬浮到图片上之后 自动展示的提示信息height="800px" width=""高度和宽度当你只修改一个的时候 另外一个参数会等比例缩放如果你修改了两个参数 并且没有考虑比例的问题 那么图片就会失真
# 全称及缩写说明
"""
alt alter 替用(一般是图片显示不出的提示)
src Source 源文件链接
"""

a标签

# 链接标签
<a href=""></a>
"""
当a标签指定的网址从来没有被点击过 那么a标签的字体颜色是蓝色
如果点击过了就会是紫色(浏览器给你记忆了)
"""href1.放url,用户点击就会跳转到该url页面2.放其他标签的id值 点击即可跳转到对应的标签位置target默认a标签是在当前页面完成跳转  _self你也可以修改为新建页面跳转     _blank# a标签的锚点功能
"""点击一个文本标题 页面自动跳转到标题对应的内容区域"""
<a href="" id="d1">顶部</a>
<h1 id="d4">hello world</h1>
<div style="height: 1800px; background: aliceblue"></div><a href="" id="d2">中间</a>
<div style="height: 1800px; background: aqua"></div><a href="" id="d3">底部</a>
<div style="height: 1800px; background: cadetblue"></div><a href="#d1">回到顶部</a>
<a href="#d2">回到中间</a>
<a href="#d4">回到hello world</a>
# 全称及缩写说明
"""
Anchor /ˈæŋkə(r)/
Division  /dɪˈvɪʒn/
a Anchor 锚(定义超链接,用于从一张页面链接到另一张页面)
href hypertext reference 超文本引用
div  Division 分隔
"""

列表标签

1. 无序列表

<ul type="disc"><li>哈哈哈1</li><li>哈哈哈2</li><li>哈哈哈3</li>
</ul>
# type属性
"""
disc  (实心圆点,默认值)
circle(空心圆圈)
square(实心方块)
none  (无样式)
"""# 全称及缩写说明
"""
ul Unordered List 不排序列表
li List Item    列表项目
"""

2. 有序列表

<ol type="1" start="2"><li>111</li><li>222</li><li>333</li>
</ol>
# type属性
"""
1  数字列表,默认值
A  大写字母
a  小写字母
Ⅰ 大写罗马
ⅰ 小写罗马
"""# 全称及缩写说明
"""
ol Ordered List 排序列表
li List Item    列表项目
"""

3. 定义列表

<dl><dt>标题1</dt><dd>内容1</dd><dt>标题1</dt><dd>内容1</dd><dt>标题1</dt><dd>内容1</dd>
</dl>
# 全称及缩写说明
"""
Definition /ˌdefɪˈnɪʃn/
dl Definition List 定义列表
dt Definition Term 定义术语
dd Definition Description 定义描述
"""

表格标签

usernamepasswordhobbyothers
jsaonread
egonDBJ吃生蚝
tank摸鱼弹棉花
<!--<table border="10" cellpadding="5" cellspacing="10">-->
<table border="10">   <!-- 加外边宽--><!--表头: 存放字段信息--><thead><tr>  <!--一个tr就表示一行--><th>username</th>   <!--加粗文本--><td>password</td>   <!--正常文本--><th>hobby</th><th>others</th></tr></thead><!--表单: 存放数据信息--><tbody><tr><td>jason</td><!--rowspan 合并行属性--><td rowspan="3">123</td><!--colspan 合并列属性(合并当前行的列)--><td colspan="2">read</td></tr><tr><td>egon</td><!--<td>123</td>--><td>DBJ</td><td>吃生蚝</td></tr><tr><td>tank</td><!--<td>123</td>--><td>摸鱼</td><td>弹棉花</td></tr></tbody>
</table>
  • 创建流程
"""
colspan 当前行中的列合并(水平方向占多行)
rowspan 合并多行属性(垂直方向占多行)
"""
table[border=1]>(thead>th)+(tbody>tr>td+td)
  • 属性
"""
border: 表格边框.
cellpadding: 内边距
cellspacing: 外边距.
width: 像素 百分比.(最好通过css来设置长宽)
rowspan: 单元格竖跨多少行
colspan: 单元格横跨多少列(即合并单元格
"""

 

表单标签

1. 表单功能

"""
表单用于向服务器传输数据,从而实现用户与Web服务器的交互表单能够包含input系列标签,比如文本字段、复选框、单选框、提交按钮等等。表单还可以包含textarea、select、fieldset和 label标签。
"""

2. 表单属性

属性描述
accept-charset规定在被提交表单中使用的字符集(默认:页面字符集)
action规定向何处提交表单的地址(URL)(提交页面)
autocomplete规定浏览器应该自动完成表单(默认:开启)
enctype规定被提交数据的编码(默认:url-encoded)
method规定在提交表单时所用的 HTTP 方法(默认:GET)
name规定识别表单的名称(对于 DOM 使用:document.forms.name)
novalidate规定浏览器不验证表单
target规定 action 属性中地址的目标(默认:_self)

几种重要的属性详解:

<!--
form表单功能: 在该form标签内部书写的获取用户的数据都会被form标签提交到后端.
属性: action 控制数据提交到后端的路径(给哪个服务短提交数据)1. 什么都不写. 默认就是朝当前页面所在的ur1提交数据2. 写全路径: https//:www.baidu.com 朝百度服务端提交3. 只写路径后缀action='/index/'. 自动识别出当前服务端的ip和port拼接到前面. host:port/index/(暂时不考虑)属性: method 通过method指定提交请求的方式1. get: form表单默认提交数据的方式 是get请求  数据是直接放在url后面的. 以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456.2. post: 把提交的数据放在HTTP包的请求体中(注意: 这里指定post, flask服务器才可以通过request.files,request.form获取文件,表单数据)提示: GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.属性: enctype="multipart/form-data" 指定数据提交的编码格式1. 默认是urlencoded 只能够提交普通的文本数据, 不能发送文件.2. form-data 就可以支持提交文件数据
-->

 

 3. 表单元素

<form action="http://127.0.0.1:5000/index/" method="post" enctype="multipart/form-data"><p><!--label第一种写法: 直接将input框写在label内--><label for="d1"><!--username: <input type="text" id="d1" disabled>--><!--username: <input type="text" id="d1" value="默认值">--><!--username: <input type="text" id="d1" value="默认值" readonly>-->username: <input type="text" id="d1" placeholder="请输入用户名" name="username" value="root">username: <input type="text" id="d1" placeholder="请输入用户名" name="username" value="root" disabled></label></p><p><!--label第二种写法: 通过id链接即可 无序嵌套(补充: input不和label关联也可以)--><label for="d2">password:</label><!--<input type="text" id="d2">--><input type="password" id="d2" name="password" placeholder="请输入用户密码" value="123"></p><p><!--你看不见我: <input type="hidden">--><input type="hidden" name="usernamename" value="骗子账户"></p><p><label for="d3">birthday: <input type="date" id="d3" name="birthday"></label></p><p>gender:<label for="d4"><input id="d4" type="radio" name="gender" value="male" checked> 男</label><input type="radio" name="gender" value="female"> 女<input type="radio" name="gender" value="other"> 其他</p><p>hobby:<input type="checkbox" name="hobby" value="read"> read<input type="checkbox" name="hobby" value="DBJ" checked> DBJ<input type="checkbox" name="hobby" value="JBD" checked> JBD<input type="checkbox" name="hobby" value="HeCha"> HeCha</p><p>province:<select name="province" id=""><option value="Shanghai">上海</option><option value="Beijing" selected>北京</option><option value="Shenzhen">深圳</option></select></p>        <p>前女友:<!--<select name="ex-girlfriend" id="">--><select name="ex-girlfriend" id="" multiple><option value="xxx">xxx</option><option value="yyy" selected>yyy</option><option value="uuu" selected>uuu</option></select></p><p>province1:<select name="province1" id=""><optgroup label="上海"><option value="Pudong">浦东</option><option value="Puxi" selected>浦西</option><option value="PuNa" selected>浦南</option></optgroup><optgroup label="北京"><option value="Tian An Men">天安门</option><option value="The gates">地安门</option><option value="When the door">中安门</option></optgroup><optgroup label="深圳"><option value="Foxconn">富士康</option><option value="Fuji bad">富士坏</option><option value="Fuji in">富士中</option></optgroup></select></p><p>文件: <input type="file" multiple name="myfile"><!--文件: <input type="file" name="myfile">--></p><p><!--12345678901234567890--><!--自我介绍: <textarea name="self-introduction" id="" cols="30" rows="10"></textarea>-->自我介绍: <textarea name="info" id="" cols="30" rows="10" maxlength="20" placeholder="请简单的介绍自己不多余20个字!"></textarea></p><p><!--当你没有指定按钮的value属性的值, 不同的浏览器打开之后可能宣染的按钮展示的文本内容不一致--><input type="submit" value="注 册"><input type="button" value="按 钮"><input type="reset" value="重 置"><button>按 钮</button></p></form>

4. 使用Flask验证表单提交数据

from flask import Flask
from flask import requestapp = Flask(__name__)# 当前url既可以支持get请求也可以支持post请求  如果不写默认只能支持get请求
@app.route('/index/', methods=['GET', 'POST'])
def index():print(request.form)   # 获取form表单提交过来的非文件数据'''ImmutableMultiDict([('username', 'root'), ('password', '123'), ...])'''print(request.files)  # 获取文件数据'''ImmutableMultiDict([('myfile', <FileStorage: '图片1.png' ('image/png')>),])'''file_obj = request.files.get("myfile")  # 通过get表单标签中的file标签中定义的name属性的值myfile获取到文件对象# print('file_obj.name:', file_obj.name)  # 获取`文件名`print('file_obj.filename:', file_obj.filename)  # 获取`文件名.后缀`if file_obj:file_obj.save(file_obj.filename)  # 保存文件对象到当前目录下(.filename以当前`文件名.后缀`保存)return 'OK'app.run()

 

5. 总结

# 标签分类:块级标签: form行内标签: label, input, textarea, select, option, optgroup# form种所有标签共用属性:name   提交到后端的key.value  提交到后端的value. 文本框标签可以不指定, 通过获取用户输入的内容就是value. 选选框类型等都需要自己指定value值.(特例: 如果是按钮类型就仅仅是显示按钮的展示文本)disabled 禁用.# 文本框类型共用属性: (文本框类型包括: 普通文本,密文文本, 文本域)readonly 只读placeholder 提示占位符maxlength 最大输入长度# 选框类型共用属性: (选框类型包括: 单选框, 多选框, 文件选框, 下拉选框单选框, 下拉多选框, 下拉选项组选框)文件选框多选, 下拉多选框:  multiple单/多选框默认选中: checked下拉系列默认选中:  selected(需先为select标签指定multiple属性)# 提示: 除了按钮没有必要指定label其他标签都可以被label包裹.label第一种写法: 直接将input框写在label内label第二种写法: 通过id链接即可 无序嵌套(补充: input不和label关联也可以)# input标签:text 普通文本input[type=text][name]password 密文文本input[type=password][name]date 提供时间日期选择input[type=date][name][value]提示: 当你没有指定按钮的value属性的值, 不同的浏览器打开之后可能宣染的按钮展示的文本内容不一致submit 提交按钮.  用来触发form表单提交数据的动作input[type=submit][value]button 普通按钮.  本身没有任何的功能, 但是它是最有用的, 学完js之后就可以给它自定义各种功能input[type=button][value]reset  重置按钮.  重置input[type=reset][value]radio 单选框  默认选中要加checked='checked', 当标签的属性名和属性值一样的时候可以简写成checked(注意: 每个单选框都需要为指定相同的name属性的值, 才能达到单选的目的)input[type=radio][name][value]checkbox 多选框input[type=checkbox][name][value]file 获取文件.input[type=file][name][value]hidden 隐藏当前input框. 只是不显示在页面中, 后台还存在着.(钓鱼网站)input[hidden][name][value]# textarea文本域标签textarea[name]# button 按钮标签button[name][value]# select标签:下拉单选select[name]>option[value]下拉多选:select[name][multiple]>option[value]下拉选项组单选select[name]>(optgroup[label]>option[value])+(optgroup[label]>option[value])下拉选项组多选select[name][multiple]>(optgroup[label]>option[value])+(optgroup[label]>option[value])!!!注意!!!: 触发form表单提交功能的按钮有2种: button input[type=submit]

 

CSS介绍

CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素。

当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)

CSS语法

 

1. 注释

注释是代码之母

/*单行注释*//*
多行注释1
多行注释2
多行注释3
*/通常我们在写css样式的时候也会用注释来划定样式区域(因为HTML代码多所以对呀的css代码也会很多)
/*这是博客园首页的css样式文件*/
/*顶部导航条样式*/
...
/*左侧菜单栏样式*/
...
/*右侧菜单栏样式*/
...

2. CSS样式组成

每个CSS样式由两个组成部分:选择器和声明。声明又包括属性和属性值。每个声明之后用分号结束

选择器 {属性1:值1;属性2:值2;属性3:值3;属性4:值4;
}

 

CSS的三种引入方式

/*1. style标签内部直接书写*/
<style>h1  {color: burlywood;}
</style>/*2. link标签引入外部css文件(最正规的方式 解耦合)*/
<link rel="stylesheet" href="mycss.css">/*3. 行内式(一般不用)*/
<h1 style="color: green">老板好 要上课吗?</h1>

CSS选择器

1. 基本选择器

注意:样式类名不要用数字开头(有的浏览器不认)。标签中的class属性如果有多个,要用空格分隔。

/*id选择器: 找到id是d1的标签 将文本颜色变成绿黄色*/
#d1 {color: greenyellow;
}/*类选择器: 找到class值里面包含c1的标签*/
.c1 {color: red;
}/*元素(标签)选择器: 找到所有的span标签*/
span {color: red;
}/*通配符选择器: 将html页面上所有的标签全部找到*/
* {color: green;
}
  • 示例代码
<div id="d1" class="c1 c2">div<p>div里面得p</p><span>div里面得span</span>
</div><p id="d2" class="c1 c2">ppp</p>
<span id="d3" class="c2">span111</span>
<span id="d4" class="c3">span222</span>

2. 组合选择器

/*后代选择器: 所有被div包裹的标签中的span*/
div span {color: red;
}/*儿子选择器: 被div包裹的第一层所有的span标签*/
div>span {color: red
}/*毗邻选择器: div同级别紧挨着的下面的第一个span*/
div+span {color: green;
}/*弟弟选择器: div同级别下面所有的span*/
div~span {color: navajowhite;
}
  • 示例代码
<span>span1</span>
<span>span2</span>
<div>div<p>div p</p><p>div p<span>div p span</span></p><span>span</span><span>span</span>
</div>
<span>span</span>
<span>span</span>

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

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

相关文章

linux安装apache并配置userid站点

目录 一、linux安装apache的方式 1、安装wget 2、下载CentOS 7的repo文件 3、更新镜像源 二、安装apache 1.通过命令直接安装apache(linux的软件包为httpd) 2.启动httpd服务 3.访问一下 三、apache配置文件 1.主配置文件 2.修改根目录 3.修改下端口 4.apache的工作…

BUUCTF 数据包中的线索 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 公安机关近期截获到某网络犯罪团伙在线交流的数据包&#xff0c;但无法分析出具体的交流内容&#xff0c;聪明的你能帮公安机关找到线索吗&#xff1f; 密文&#xff1a; 下载附件&#xff0c;解压得到一个.pcapng文…

【兔子王赠书第5期】ChatGPT速学通:文案写作+PPT制作+数据分析+知识学习与变现

文章目录 前言ChatGPT推荐图书作者简介内容简介推荐理由 粉丝福利尾声 前言 程序员如果有一天代码写不动了&#xff0c;还能干什么&#xff1f; 一位 80 后女程序员“兰猫”给出了她的答案——转型 AI 写手。兰猫从事程序员工作十余年&#xff0c;在繁重的工作压力下&#xf…

大数据毕业设计选题推荐-系统运行情况监控系统-Hadoop-Spark-Hive

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

leetCode 2915. 和为目标值的最长子序列的长度 + 动态规划 +01背包 + 空间优化 + 记忆化搜索 + 递推

2915. 和为目标值的最长子序列的长度 - 力扣&#xff08;LeetCode&#xff09; 给你一个下标从 0 开始的整数数组 nums 和一个整数 target 。返回和为 target 的 nums 子序列中&#xff0c;子序列 长度的最大值 。如果不存在和为 target 的子序列&#xff0c;返回 -1 。子序列 …

ubuntu下vscode终端输出出现空白的问题

当终端 输出铺满后 再继续回车 会出现局部空白 这是vscode 的bug&#xff1f;有大佬知道解决办法的可以评论区留言。

Flutter 04 按钮Button和事件处理、弹框Dialog、Toast

一、按钮组件 1、按钮类型&#xff1a; 2、按钮实现效果&#xff1a; import package:flutter/material.dart;void main() {runApp(const MyApp()); }class MyApp extends StatelessWidget {const MyApp({Key? key}) : super(key: key);overrideWidget build(BuildContext co…

Stream 流对象的创建与各方法

Stream 流对象的创建与各方法 目录 1.0 Stream 流的说明 2.0 Stream 流对象的创建 2.1 对于 Collection 系列集合创建 Stream 流对象的方式 2.2 对于 Map 系列集合创建 Stream 流对象的方式 2.3 对于数组创建 Stream 流对象的方式 3.0 Stream 流的中间方法 3.1 Stream 流的 …

《算法设计与分析》 蛮力法实验报告一

1.&#xff08;洛谷 P1008&#xff09;将 1,2...9 共 9 个数分成三组,分别组成三个三位数,且使这三个三位数构成 1:2:3 的比例,试求出所有满足条件的三个三位数。 输入格式&#xff1a; 无 输出格式&#xff1a; 若干行&#xff0c;每行 3 个数字。按照每行第 1 个数字升序…

vue基于ElementUI/Plus自定义的一些组件

vue3-my-ElementPlus 源码请到GitHub下载使用MyTable、MySelect、MyPagination 置顶|Top | 使用案例&#xff1a; 1.0 定义表格数据&#xff08;测试使用&#xff09; data() {return {tableData: [],value:[],valueList: [],}; },// 构造表格测试数据// 1 第一行&#xf…

基于nodejs+vue客户管理管理系统

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

【设计模式】第6节:创建型模式之“原型模式”

由于本人现在所使用的语言主要是golang&#xff0c;所以后面的代码主要使用golang编写。语言实现应该不是障碍&#xff0c;主要是理解每种设计模式它的思想。 如果对象的创建成本比较大&#xff0c;而同一个类的不同对象之间差别不大&#xff08;大部分字段都相同&#xff09;…

C/C++苹果和虫子 2021年3月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C苹果和虫子 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C苹果和虫子 2021年3月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 你买了一箱n个苹果&#xff0c;很不幸的是买完时箱…

数据结构与算法之美学习笔记:15 | 二分查找(上):如何用最省内存的方式实现快速查找功能?

目录 前言无处不在的二分思想O(logn) 惊人的查找速度二分查找的递归与非递归实现二分查找应用场景的局限性解答开篇内容小结 前言 本节课程思维导图&#xff1a; 今天我们讲一种针对有序数据集合的查找算法&#xff1a;二分查找&#xff08;Binary Search&#xff09;算法&am…

win10 + vs2017 + gdal2.0.3 编译

1. 下载并解压gdal2.0.3 我的放置目录是&#xff1a;D:\Depend_3rd_party\gdal2\gdal-2.0.3&#xff0c;其中gdal-2.0.3是解压得到的文件夹 2. 修改 nmake.opt 文件 用notepad打开nmake.opt文件&#xff0c;修改以下三个部分&#xff1a; &#xff08;1&#xff09;修改C co…

程序员想要网上接单却看花了眼?那这几个平台你可得收藏好了!

现在经济压力这么大&#xff0c;但是生活成本还在上升&#xff0c;相信大家都知道“四脚吞金兽”的威力了吧&#xff01;话虽如此&#xff0c;但是生活总得继续&#xff0c;为了家庭的和谐幸福&#xff0c;为了孩子的未来&#xff0c;不少人选择多干几份工作&#xff0c;赚点外…

Macroscope安全漏洞检测工具简介

学习目标&#xff1a; 本介绍旨在帮助感兴趣者尽快了解 Macroscope&#xff0c;这是一款用于安全测试自动化和漏洞管理的企业工具。 全覆盖应用程序安全测试&#xff1a; 如下图所示&#xff0c;如果使用多种互补工具&#xff08;SAST/DAST/SCA 等&#xff09;来检测应用程序…

linux编译boost库并执行程序

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 一、--prefix命令 二、安装过程 1、shell脚本&#xff1a; 2、gcc编译环境 执行过程 三、linux下执行cpp程序 总结 前言 提示&#xff1a;这里可以添加本文…

【Synopsys工具使用】VCS使用与Makefile脚本调用

文章目录 一、文件导入二、VCS仿真&#xff08;使用可视化界面&#xff09;三、VCS仿真&#xff08;使用Maefile文件&#xff09;3.1 Makefile文件编写3.2 仿真文件编写规范3.3 Makefile文件使用 一、文件导入 新建一个文件夹新建一个文件夹(图中IC_work)   创建一个目录&…

3.18每日一题(奇偶性、奇偶性的平移、几何意义、配方、换元)

解法一&#xff1a;先配方&#xff0c;再用三角函数换元&#xff08;看见根号一般用三角函数&#xff09;&#xff0c;看见对称区间联想奇偶性&#xff0c;最后再用公式 解法二&#xff1a; 利用奇偶性的平移&#xff0c;令&#xff08;x-1&#xff09; t &#xff0c;对应的区…