前端二:form表单与CSS选择器
2022/4/26 6:13:04
本文主要是介绍前端二:form表单与CSS选择器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
form表单
获取前端用户数据并发送给后端服务器
格式:<form action="" method=""> 获取用户数据标签 </form>
action属性
控制数据的提交地址 方式1:写全路径 action="http://www.aa7a.cn/user.php" 方式2:写后缀(自动补全IP和PORT) action="user.php" 方式3:不写(朝网页所在的地址提交) action="" '''URL:统一资源定位符(网址)'''
input标签
获取用户各中类型数据的标签(html里面的变形金刚)
type | 内容 |
---|---|
text | 普通文本 |
password | 密文展示文本 |
date | 日历 |
radio | 单选框 (默认在选项后面加checked='checked'设置默认选项) |
checkbox | 多选 (默认在选项后面加checked='checked'设置默认选项) |
邮箱格式数据 | |
file | 文件数据 (可以通过添加multiple属性控制获取单个还是多个文件) |
submit | 触发form表单提交数据的动作 |
reset | 重置页面填写的数据 |
button | 普通按钮默认没有任何的功能 |
除了submit触发form表达提交动作外,button
标签也有这个作用
select标签(下拉框)
<select name="province" id=""> <option value="BJ">北京</option> <option value="SH">上海</option> <option value="SZ">深圳</option> </select>
一个个的下拉选项是一个个option标签。默认是单选 也可以添加multiple变成多选
textarea标签(获取段落文本)
<textarea name="desc"></textarea>
label标签
给input标签配文字说明
方式1 <label for="d1">用户名:</label> <input type="text" id="d1"> 方式2 <label>用户名: <input type="text"> </label>
重要属性
input标签中有两个非常重要的属性 1.name属性 类似于字典的key(前端程序员写) 2.value属性 类似于字典的value(用户自己传) 如果标签是选择类型的 那么还需要前端程序员自己填写value 用于区分具体数据含义 ps:我们在编写input标签的时候应该添加name属性
网络请求方式
1.get请求 朝服务端索要数据 注意get请求方式存在问题,不够完善,会将用户提交的数据直接展示在地址栏 2.post请求 朝服务端提交数据 两种请求都可以携带数据 get请求是在url后面通过?组织数据 url?name=jason&pwd=123&email=123@qq.com post请求是在请求体中组织数据 HTTP协议请求数据格式 ''' get请求虽然可以携带数据 但是一般只用于不重要的数据携带 并且get请求携带数据的大小有限制 最多只能携带2KB左右 ''' form表单中有一个method属性 用于控制提交的方式 有两个选项 默认是get请求
CSS
1.语法结构 选择器 {属性名1:属性值1;属性名2:属性值2} 2.语法注释 /*注释内容*/ """ 一个正常的网页css样式是非常多的 就算专门开设css文件存储也很乱 这个时候就可以在css文件中通过注释来辅助辨别与查找 eg: /*博客园样式表*/ /*导航条样式*/ /*左侧栏样式*/ /*右侧栏样式*/ """ 3.多种引入css的方式 1.head内style标签内部直接编写css代码 建议在小白学习阶段可以使用 方便查看 2.head内link标签引入外部css文件 工作中一般使用的都是link形式 符合标准 3.标签内部通过style属性直接编写 第三种也称之为"行内式"是最不推荐使用的一种方式 因为它会将HTML和CSS柔和到一起 增加了耦合度 问:CSS是用于调整HTML标签样式的 但是同一个页面上有很多相同的标签并且可能需要有不同的样式 CSS的学习流程是 先学会如何查找标签 之后才能学如何给标签修改样式
CSS查找标签之选择器
**基础选择器** 1.标签选择器(范围查找) 直接通过标签名查找标签 h1 { color: deeppink; /*让所有h1标签内部所有的字体颜色变为深粉色*/ } 2.类选择器(范围查找) 通过标签的class属性查找标签(关键性符号是句点符) .c1 { color: greenyellow; /*将所有class属性中含有c1的标签内部字体颜色改为亮绿色*/ } 3.id选择器(精确查找) 通过标签的id属性查找标签 #d1 { color: orange; } 4.通用选择器(了解 几乎不用) 查找所有的标签 * { color: blue; } **组合选择器** """ 补充:标签关系 <div>div1 <div>div2 <p>p1</p> </div> <p>p2 <span>span1</span> </p> <span>span2</span> </div> 通过嵌套层级来表示亲属关系 1.对于div1来说div2、p2、span2都是儿子 2.对于div2、p2、span2来说div1就是父亲 3.对于p1来说div2是父亲 div1是爷爷(可以将div1和div2统称为祖先) 4.对于span2来说div2、p2是哥哥 span2是弟弟 5.div1内部所有的标签无论层级都可以称之为是div1的后代 ps:判断的时候一定要看层级关系 """ 1.儿子选择器(关键符号是大于号) #d1 > span { 查找id是d1标签内部所有的儿子span color: red; } 2.后代选择器(关键符号是空格) #d1 span { 查找id是d1标签内部所有的后代span color: red; } 3.毗邻选择器(关键符号是加号) #d1 + a { 查找id是d1标签同级别下面紧挨着第一个a标签 color: red; } 4.弟弟选择器(关键符号是小波浪号) #d1 ~ a { 查找id是d1标签同级别下面所有a标签 color: red; } 属性选择器 根据标签内部的属性名和属性值查找标签(关键符号是中括号) 1.方式1:直接通过属性名查找 [type] { background-color: red; } 2.方式2:属性名是type并且值是text的标签 [type='text'] { background-color: red; } 3.方式3:属性名是type并且值是text的div标签 div[type='text'] { background-color: red; } 伪类选择器 1.鼠标悬浮 p:hover { 鼠标移动到p标签上方 字体颜色动态修改为橙色 color: orange; } 2.获取聚点 input:focus { 输入框被鼠标左键选中(聚焦) background-color: black; }
选择器分组与嵌套
1.分组 div, p, span { 查找div或者p或者span color: red; } 2.嵌套 #d1, .c1, span { 查找id是d1或者class包含c1或者span color: red; } """ 综合玩法 玩法1 div#d1 查找id是d1的div标签 div.c1 查找class包含c1的div标签 玩法2 div #d1 查找div内部id是d1的后代标签 #d1>.c1 查找id是d1的内部class包含c1的儿子标签 """
整体代码实现
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> /*标签选择器*/ h1 { background: lightblue; /*让所有h1标签内部北京变为浅蓝色*/ } /*类选择器*/ .c1 { color: gray; } /*id选择器*/ #id18 { font-size: 30px; } /*通用选择器*/ * { stop-color: aquamarine; } /*儿子选择器*/ #d1 > span { color: darkblue; } /*后代选择器*/ #d1 span { background: dimgray; } /*毗邻选择器*/ #d1 + p { background: darkgoldenrod; } /*弟弟选择器*/ #d2 ~ p { color: aqua; background: mediumpurple; } /*属性选择器 */ [type]{ background: pink; } [type='password']{ background: beige; } h2[type='text']{ color: greenyellow; } /*伪类选择器*/ h4{ color: purple; } h4:hover{ color: goldenrod; } /*聚焦*/ input:focus{ background: mediumspringgreen; } </style> <!--<!– <link rel="stylesheet" href="myjss.css">–> link从外部导入css文件--> <style> </style> </head> <body> <form action="" method="get"> <p><label>用户名:<input type="text" name="name"></label></p> <p><label>密码:<input type="password" name="pwd"></label></p> <p><label>性别: 男<input type="radio" name="gender" value="male" checked>< 女<input type="radio" name="gender" value="female"> 未知<input type="radio" name="gender" value="others"> </label> </p> <p><label>兴趣爱好: 篮球<input type="checkbox" name="hobby" value="basketball"> 足球<input type="checkbox" name="hobby" value="soccer"> 乒乓球<input type="checkbox" name="hobby" value="pingpang"> </label> </p> <p><label>生日:<input type="date" name="birthday"></label></p> <p><label>邮箱:<input type="email" name="email"></label></p> <p><label>单文件上传:<input type="file" name="single_file"></label></p> <p><label>多文件上传:<input type="file" multiple name="files"></label><</p> <p> <label>地址: <select name="province"> <option value="henan">河南</option> <option value="shangdong">山东</option> <option value="hubei">湖北</option> <option value="jiangsu">江苏</option> <option value="anhui">安徽</option> <option value="beijing">北京</option> </select> </label> </p> <p><label>旅居史: <select name="travel cities" multiple> <option value="shanghai">上海</option> <option value="guangzhou">广州</option> <option value="shenzhen">深圳</option> <option value="beijing">北京</option> </select> </label> </p> <p><label>其余信息: <textarea name="other formation" cols="25" rows="5"></textarea> </label> </p> <p> <input type="submit" value="注册"> <button>同注册</button> <input type="reset" value="重置"> <input type="button" value="自定义按键"> </p> </form> <h1 class="c1" id="id1">谁能凭爱意将富士山拥有</h1> <h2 class="c1" id="id2">谁能凭爱意将富士山拥有</h2> <h3 class="c1" id="id3">谁能凭爱意将富士山拥有</h3> <h4 class="c1" id="id4">谁能凭爱意将富士山拥有</h4> <h5 class="c1" id="id5">谁能凭爱意将富士山拥有</h5> <h6 class="c1" id="id6">谁能凭爱意将富士山拥有</h6> <h1 class="c2" id="id7">谁能凭爱意将富士山拥有</h1> <h2 class="c2" id="id8">谁能凭爱意将富士山拥有</h2> <h3 style="color: hotpink" class="c2" id="id9">谁能凭爱意将富士山拥有</h3> <h4 class="c2" id="id10">谁能凭爱意将富士山拥有</h4> <h5 class="c2" id="id11">谁能凭爱意将富士山拥有</h5> <h6 class="c2" id="id12">谁能凭爱意将富士山拥有</h6> <h1 class="c3" id="id13">谁能凭爱意将富士山拥有</h1> <h2 type="text" class="c3" id="id14">谁能凭爱意将富士山拥有</h2> <h3 class="c3" id="id15">谁能凭爱意将富士山拥有</h3> <h4 class="c3" id="id16">谁能凭爱意将富士山拥有</h4> <h5 class="c3" id="id17">谁能凭爱意将富士山拥有</h5> <h6 class="c3" id="id18">谁能凭爱意将富士山拥有</h6> <div id="d1">div1 <div>div2 <p>p1</p> </div> <p>p2 <span>span1</span> </p> <span id="d2">span2</span> <span>span3</span> <p>p3</p> <p>p4</p> </div> </body> </html>
这篇关于前端二:form表单与CSS选择器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25前端大厂面试真题解析与实战攻略
- 2024-12-25如何准备前端面试:新手指南
- 2024-12-25前端面试题详解与实战攻略
- 2024-12-25前端面试真题详解与实战攻略
- 2024-12-252024前端大厂面试真题详解及备考指南
- 2024-12-252024前端面试必备指南:从零开始掌握前端面试技巧
- 2024-12-252024前端面试题详解与实战指南
- 2024-12-21动态面包屑教程:新手入门指南
- 2024-12-21动态主题处理教程:新手必读指南
- 2024-12-21富文本编辑器教程:新手入门指南