ASCII码 ASCII码

引入字体图标和自定义样式与媒体查询

发布于:2022-07-11 14:30:46  栏目:技术文档

1.引入字体图标

  1. 1.下载字体图标库
  2. 2.放入文件夹内
  3. 3.<link rel="stylesheet" href="******" />导入字体图标样式
  4. 4.<button class="iconfont icon-***"></button> 来引用字体图标

1.1HTML代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  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>表单元素</title>
  8. <link rel="stylesheet" href="font/iconfont.css" />
  9. </head>
  10. <body>
  11. <!--! 1.发送方式/请求方式 -->
  12. <!--! 2.发送的数据: -->
  13. <!--! 2.1 自定义(最灵活):用户自己输入,例如:文本框,文本域-->
  14. <!--! 2.2 预定义(最安全):由程序员/开发者已经写好了,用户只要做一个选择,例如:复选框,单选框,下拉列表.... -->
  15. <!-- 用户注册 -->
  16. <h2>用户注册</h2>
  17. <!-- get:查询,默认的 -->
  18. <!-- get:数据以“查询字符串,键值对方式发送到后端” -->
  19. <!-- 姓名/key=张三/value -->
  20. <!-- get:用于查询,将用户的查询参数,通过URL发送到服务器 -->
  21. <!-- post:用于向服务器提交数据,常用于写操作,也可以用于读/查询 -->
  22. <!-- onsubmit="return false" 阻止表单提交操作(将表单默认的提交行为禁用) -->
  23. <form action="reg.php" method="post" onsubmit="return false">
  24. <div>
  25. <label for="username">用户名:</label>
  26. <!--* name:提交到后端的变量名,value:默认值 -->
  27. <!--! autofocus:自动获取焦点,布尔属性,无值(默认值)就是TRUE,如果是FALSE,才有必要给值 -->
  28. <input type="text" name="username" id="username" placeholder="用户名不能为空" autofocus />
  29. </div>
  30. <div class="ceshi">
  31. <label for="password">密码:</label>
  32. <input type="password" id="password" name="password" placeholder="密码不能为空" />
  33. <!-- <span class="icon-yincang"></span> -->
  34. <button class="iconfont icon-yincang" onclick="showPassword(this,this.form.password)"></button>
  35. <!-- <p style="margin-top: -25px; margin-left: 230px; font-size: 30px" class="iconfont icon-xianshikejian" onclick="showPassword(this,this.form.password)"></p> -->
  36. <!-- <button onclick="showPassword(this,this.form.password)">查看密码</button> -->
  37. </div>
  38. <!-- 单选按钮 -->
  39. <!-- 预定义选项,必须给默认值,value -->
  40. <div>
  41. <label for="">性别:</label>
  42. <!-- 单选按钮提交的数据只有一个变量一个值,所以name变量名后面要加上[] -->
  43. <!-- 默认选择:checked,布尔属性,默认值为TRUE(默认值可不写),要赋予值只能是FALSE -->
  44. <input type="radio" id="nan" name="sex" value="0" checked />
  45. <label for="nan">男</label>
  46. <input type="radio" id="nv" name="sex" value="1" />
  47. <label for="nv">女</label>
  48. <input type="radio" id="weizhi" name="sex" value="2" />
  49. <label for="weizhi">未知</label>
  50. </div>
  51. <div>
  52. <label for="">爱好:</label>
  53. <!-- 复选框提交的数据是一组数组,哪怕只是一个值也是数组,所以name必须一致 -->
  54. <input type="checkbox" id="dianying" name="hobbies[]" value="0" />
  55. <label for="dianying">电影</label>
  56. <input type="checkbox" id="dongman" name="hobbies[]" value="1" />
  57. <label for="dongman">动漫</label>
  58. <input type="checkbox" id="game" name="hobbies[]" value="2" />
  59. <label for="game">游戏</label>
  60. </div>
  61. <div>
  62. <label for="">城市:</label>
  63. <!-- name,value是在同一个input控件标签中 -->
  64. <!-- select中,name,value不在同一个标签中 -->
  65. <select name="city" id="">
  66. <!-- 下拉列表没有办法给用户提示,可以借助第一个选项来提示用户 -->
  67. <!-- 因为第一个选项没有意义,所以通常是禁用的,指向一个视觉提示效果 -->
  68. <option value="0" selected disabled>--请选择--</option>
  69. <option value="1">福建</option>
  70. <option value="2">上海</option>
  71. <option value="3">北京</option>
  72. <option value="4">武汉</option>
  73. </select>
  74. </div>
  75. <div>
  76. <button>提交</button>
  77. </div>
  78. </form>
  79. <script>
  80. function showPassword(bth, ele) {
  81. if (ele.type === "password") {
  82. ele.type = "text";
  83. // bth.classContent = "隐藏";
  84. bth.className = "iconfont icon-xianshikejian";
  85. console.log(bth);
  86. } else {
  87. ele.type = "password";
  88. bth.className = "iconfont icon-yincang";
  89. }
  90. }
  91. </script>
  92. <style>
  93. .ceshi button {
  94. border: none;
  95. background-color: #fff;
  96. font-size: 20px;
  97. }
  98. </style>
  99. </body>
  100. </html>

1.2 效果:

1.3 自定义样式:

  1. 1.创建一个自定义样式文件
  2. 2.将字体图标样式导入自定义样式文件
  3. 3.引用样式文件

css与HTML:

  1. yangshi.css:
  2. @import "font/iconfont.css";
  3. .ceshi button {
  4. border: none;
  5. background-color: #fff;
  6. font-size: 20px;
  7. }
  8. html:
  9. html与上面相同,只修改了导入文件和删除了<style></style>里的代码
  10. <link rel="stylesheet" href="yangshi.css" />

效果:

2.媒体查询(pc适配模式)

  1. 媒体查询所控制的按钮不能设置为绝对值
  2. (PC适配模式由大适配到小)

2.1 html:

  1. <!DOCTYPE html>
  2. <html lang="en">
  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>媒体查询</title>
  8. </head>
  9. <body>
  10. <button class="anniu xiao">按钮1</button>
  11. <button class="anniu zhong">按钮2</button>
  12. <button class="anniu da">按钮3</button>
  13. </body>
  14. <style>
  15. html {
  16. font-size: 10px; /* 10px = 1rem */
  17. }
  18. .anniu {
  19. background-color: violet;
  20. border: none;
  21. color: #fff;
  22. /* 将 outline 设置为 0 或 none 会移除浏览器的默认聚焦样式 */
  23. /* outline: none; */
  24. }
  25. .anniu:hover {
  26. cursor: pointer;
  27. /* 动画时长,也可以是过度效果 */
  28. /* transform: 20s; */
  29. /* opacity 属性指定了一个元素的不透明度 */
  30. opacity: 0.5;
  31. }
  32. .xiao {
  33. /* 媒体查询不能用绝对值 */
  34. /* px:绝对值 */
  35. /* font-size: 13px; */
  36. font-size: 1.3rem;
  37. }
  38. .zhong {
  39. font-size: 1.6rem;
  40. }
  41. .da {
  42. font-size: 2rem;
  43. }
  44. /* Pc适配模式 */
  45. /* 断点 1000 800 600 450 350 */
  46. @media (min-width: 1000px) {
  47. html {
  48. font-size: 60px;
  49. }
  50. }
  51. @media (max-width: 999px) and (min-width: 800px) {
  52. html {
  53. font-size: 50px;
  54. }
  55. }
  56. @media (max-width: 799px) and (min-width: 600px) {
  57. html {
  58. font-size: 40px;
  59. }
  60. }
  61. @media (max-width: 599px) and (min-width: 450px) {
  62. html {
  63. font-size: 30px;
  64. }
  65. }
  66. @media (max-width: 449px) and (min-width: 350px) {
  67. html {
  68. font-size: 20px;
  69. }
  70. }
  71. </style>
  72. </html>

2.2 效果:

相关推荐
阅读 +