Blogger Information
Blog 18
fans 1
comment 1
visits 11407
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
HTML 表单详解 与 CSS 元素样式来源
至诚网络的博客
Original
443 people have browsed it

HTML 表单

HTML表单, 用于搜集不同类型的用户输入

<form> 元素

  • 属性

    • action 表单提交URL 如果省略 action 属性,则 action 会被设置为当前页面

    • method 提交类型

      • post: 数据在请求体中,不在url中,安全,可发送大量的数据,例如文件上传

      • get: 数据在url中, 明文发送,适合少量数据,不超过4k

    • enctype 数据编码

      • multipart/form-data 当使用有文件上传控件的表单时,必须设置该值。

表单元素

文本框
  1. <form action="" method="POST">
  2. <!-- 单行文本框 -->
  3. <!-- 属性
  4. 1. name: 可以把值提交到后端 如果没有name属性 后台程序就不能获得提交的数据
  5. 2. type: 定义的是哪种类型的表单形式
  6. 1. text 单行的文本框
  7. 2. password 密码框 将文本替换为”*”的文本框
  8. 3. email 邮箱
  9. 4. radio 单选按钮 多个选一
  10. 5. checkbox 复选框 可选一个或多个
  11. 6. file 文件上传域
  12. 7. hidden 隐藏域 必须提交的数据,对用户不可见
  13. 3. placeholder:表示文本框字段的提示信息
  14. 4. required:表示字段不能为空
  15. 5. autofocus:表示页面一打开文本框自动获取焦点
  16. 6. value:表示预先设置好的信息
  17. -->
  18. <label for="username">帐号:</label>
  19. <input type="text" id="username" name="username" value="" placeholder="username" required />
  20. <!-- 邮箱型文本框 -->
  21. <label for="email">邮箱:</label>
  22. <input type="email" id="email" name="email" value="" required placeholder="demo@email.com" />
  23. <!-- 密码型文本框/非明文 -->
  24. <label for="password">密码:</label>
  25. <input type="password" id="password" name="password" value="" required placeholder="不少于6位" />
  26. <!-- 提交按钮 -->
  27. <button>提交</button>
  28. </form>
单选按钮与复选框
  1. <label for="secret">性别:</label>
  2. <div>
  3. <!-- checked布尔属性,不需要值,只要存在就是true / 真 -->
  4. <!-- 一组单选按钮必须共用同一个名称的name属性值,否则无法实现值的唯一性 -->
  5. <input type="radio" name="gender" value="male" id="male" /><label for="male"></label>
  6. <input type="radio" name="gender" value="female" id="female" /><label for="female"></label>
  7. <input type="radio" name="gender" value="secret" id="secret" checked /><label for="secret">保密</label>
  8. </div>
  9. <label for="#">兴趣:</label>
  10. <div>
  11. <!-- 复选框的name属性值应该写与数组的格式名称,这样才确保服务器可以接收到一组值 -->
  12. <input type="checkbox" name="hobby[]" value="game" id="game" checked /> <label for="game">游戏</label>
  13. <input type="checkbox" name="hobby[]" value="shoot" id="shoot" /> <label for="shoot">摄影</label>
  14. <input type="checkbox" name="hobby[]" value="travel" id="travel" /> <label for="travel">旅游</label>
  15. <input type="checkbox" name="hobby[]" value="program" id="program" checked /> <label for="program">编程</label>
  16. </div>
 下拉列表/下拉框
  1. <div>
  2. <!-- 下拉列表,将变量名和多个值分开设置,由用户自己选择 -->
  3. <!-- name, value应该在一个标签内,但是select -->
  4. <select name="level">
  5. <option value="1">铜牌会员</option>
  6. <option value="2">银牌会员</option>
  7. <option value="3" selected>金牌会员</option>
  8. <option value="4">永久会员</option>
  9. </select>
  10. </div>
  11. <!-- 自定义下拉列表 -->
  12. <!-- datalist + input -->
  13. <div>
  14. <label for="">搜索关键字:</label>
  15. <input type="search" name="search" list="keywords" />
  16. <datalist id="keywords">
  17. <option value="html">html</option>
  18. <option value="css">css</option>
  19. <option value="js">js</option>
  20. <option value="javascript">javascript</option>
  21. </datalist>
  22. </div>
 文件上传 隐藏域 textarea文本域
  1. <form action="" method="POST" enctype="multipart/form-data">
  2. <!-- 上传文件要注意二点:
  3. 1. 请求类型必须是: POST
  4. 2. 将表单数据编码设置为: enctype="multipart/form-data" -->
  5. <label for="pic">头像:</label>
  6. <!-- 隐藏域,在前端页面看不到的,它的值供后端处理时用 -->
  7. <input type="hidden" name="size"/>
  8. <input type="file" name="pic" id="pic" /
  9. <!-- 5. 文本域 -->
  10. <label for="comment">备注:</label>
  11. <textarea name="comment" id="comment" cols="30" rows="5"></textarea>
  12. <!-- 提交按钮 -->
  13. <button>提交</button>
  14. </form>

 CSS 元素样式的来源

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. hello world
  11. <h1>hello world</h1>
  12. </body>
  13. </html>
  • 1.默认样式: 用户代理样式,这是浏览器为每一个内置元素设置的默认样式

  • 2.自定义: 用户自定义样式
  1. h1 {
  2. color: red;
  3. background-color: yellow;
  4. }
  • style标签设置样式,适合于当前html文档

    1. <style>
    2. h1 {
    3. color: red;
    4. background-color: yellow;
    5. }
    6. </style>
  • style属性: 行内样式,仅限于当前元素 <h1 style="color: green">hello php.cn</h1>

  • 导入外部样式表

    • <link rel="stylesheet" href="style.css" />

    • <style>@import url(style.css);</style>

选择器

选择器: 用于选择页面中一个或多个元素的字符串

  • 1.几乎所有的元素都可以使用的三大通用属性 style, id, class

    • 属性id 选择器 [id="title"]{color: violet;} 简写成 #title{color: violet;}

    • 属性 class选择器 [class="title"]{color: violet;} 简写成 .title{color: violet;}

    • 标签 选择器 h2{color: violet;}

  • 2.选择器优先级

    • 相同选择器 会根据书写顺序后面写的会覆盖前面写的

    • 不同选择器 和书写的顺序无关 与权重有关 !important > style属性 > id > class > tag

  • 3.权重的计算方式

  1. <body>
  2. <h3 id="a" class="b">Hello PHP.CN</h3>
  3. <style>
  4. /* 选择当前的h3有三种选择器:
  5. 标签, class, id */
  6. /* 将id,class,tag,想像成一个三位整数,初始为 0, 0 ,0 */
  7. /* 百位 十位 个数
  8. id class tag
  9. 0 0 0 */
  10. /* 百位对应:id 十位对应:class 个位对应:tag */
  11. /* 1,1,0 */
  12. /* #a.b {
  13. background-color: lightblue;
  14. } */
  15. /* 0, 1, 1 */
  16. h3.b {
  17. background-color: blue;
  18. }
  19. /* 0, 1, 0 */
  20. .b {
  21. background-color: cyan;
  22. }
  23. /* 0, 0 , 2 */
  24. body h3 {
  25. background-color: yellow;
  26. }
  27. /* 0, 0 , 1 */
  28. h3 {
  29. background-color: lightgreen;
  30. }
  31. </style>
  32. </body>
  • 上下文选择器

    • 只能选中 子元素 : > .list > li { border: 1px solid rgb(150, 56, 56); }

    • 后代元素都能选中 : 空格 .list li { border: 1px solid #000; }

    • 相邻兄弟/next/下一个 : + .list .item + li { background-color: cyan; }

    • 所有兄弟元素 : ~ .list .item ~ li { background-color: cyan; }

Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post