html和css进阶

相对地址与绝对地址

网页上引入或链接到外部文件,需要定义文件的地址,常见引入或链接外部文件包括以下几种:

  1. <!-- 引入外部图片 -->
  2. <img src="data:images/001.jpg" alt="图片" />
  3.  
  4. <!-- 链接到另外一个网页 -->
  5. <a href="002.html">链接到网页2</a>
  6.  
  7. <!-- 外链一个css文件 -->
  8. <link rel="stylesheet" type="text/css" href="css/main.css" />
  9.  
  10. <!-- 外链一个js文件 -->
  11. <script type="text/javascript" src="js/jquery.js"></script>

这些地址分为相对地址和绝对地址:

相对地址 
相对于引用文件本身去定位被引用的文件地址,以上的例子都是相对地址,相对地址的定义技巧:

  • “ ./ ” 表示当前文件所在目录下,比如:“./pic.jpg” 表示当前目录下的pic.jpg的图片,这个使用时可以省略。

  • “ ../ ” 表示当前文件所在目录下的上一级目录,比如:“../images/pic.jpg” 表示当前目录下的上一级目录下的images文件夹中的pic.jpg的图片。

绝对地址 
相对于磁盘的位置去定位文件的地址,比如:<img src="C:\course5\03day\images\001.jpg" alt="图片" /> 绝对地址在整体文件迁移时会因为磁盘和顶层目录的改变而找不到文件,相对地址就没有这个问题。

列表标签

列表一般应用在布局中的新闻标题列表和文章标题列表以及菜单,它是含有语义的,标签结构如下:

  1. <ul>
  2. <li>列表标题一</li>
  3. <li>列表标题二</li>
  4. <li>列表标题三</li>
  5. </ul>

列表的内容一般是可以链接的,点击链接到新闻或者文章的具体内容,所以具体结构一般是这样的:

  1. <ul>
  2. <li><a href="#">列表标题一</a></li>
  3. <li><a href="#">列表标题二</a></li>
  4. <li><a href="#">列表标题三</a></li>
  5. </ul>

列表相关样式 
list-style 去掉列表项的小圆点,比如:list-style:none

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. .list{
  10. /* 去掉列表的小圆点 */
  11. list-style:none;
  12.  
  13. /* 去掉默认的内边距和外边距 */
  14. padding:0px;
  15. margin:0px;
  16. }
  17.  
  18. .list li{
  19. line-height:50px;
  20. border-bottom:1px solid black;
  21.  
  22. /* 设置文字首行缩进两个字,文字默认大小是16px */
  23. text-indent:32px
  24. }
  25.  
  26. .indent{
  27. text-indent:32px;
  28. }
  29.  
  30. </style>
  31. </head>
  32. <body>
  33. <!-- ul>li{列表文字}*8 -->
  34. <ul class="list">
  35. <li>列表文字</li>
  36. <li>列表文字</li>
  37. <li>列表文字</li>
  38. <li>列表文字</li>
  39. <li>列表文字</li>
  40. <li>列表文字</li>
  41. <li>列表文字</li>
  42. <li>列表文字</li>
  43. </ul>
  44.  
  45. <!-- ul>(li>a{列表文字})*8 -->
  46. <ul>
  47. <li><a href="#">列表文字</a></li>
  48. <li><a href="#">列表文字</a></li>
  49. <li><a href="#">列表文字</a></li>
  50. <li><a href="#">列表文字</a></li>
  51. <li><a href="#">列表文字</a></li>
  52. <li><a href="#">列表文字</a></li>
  53. <li><a href="#">列表文字</a></li>
  54. <li><a href="#">列表文字</a></li>
  55. </ul>
  56. </body>
  57. </html>

列表表单

html表单

表单用于搜集不同类型的用户输入,表单由不同类型的标签组成,相关标签及属性用法如下:

1、<form>标签 定义整体的表单区域

  1. action属性 定义表单数据提交地址
  2. method属性 定义表单提交的方式,一般有“get”方式和“post”方式

2、<label>标签 为表单元素定义文字标注

3、<input>标签 定义通用的表单元素

  1. type属性
  2. type="text" 定义单行文本输入框
  3. type="password" 定义密码输入框
  4. type="radio" 定义单选框
  5. type="checkbox" 定义复选框
  6. type="file" 定义上传文件
  7. type="submit" 定义提交按钮
  8. type="reset" 定义重置按钮
  9. type="button" 定义一个普通按钮
  10. value属性 定义表单元素的值
  11. name属性 定义表单元素的名称,此名称是提交数据时的键名

4、<textarea>标签 定义多行文本输入框

5、<select>标签 定义下拉表单元素

6、<option>标签 与<select>标签配合,定义下拉表单元素中的选项

注册表单实例:

  1. <form action="http://www..." method="get">
  2. <p>
  3. <label>姓名:</label><input type="text" name="username" />
  4. </p>
  5. <p>
  6. <label>密码:</label><input type="password" name="password" />
  7. </p>
  8. <p>
  9. <label>性别:</label>
  10. <input type="radio" name="gender" value="0" />
  11. <input type="radio" name="gender" value="1" />
  12. </p>
  13. <p>
  14. <label>爱好:</label>
  15. <input type="checkbox" name="like" value="sing" /> 唱歌
  16. <input type="checkbox" name="like" value="run" /> 跑步
  17. <input type="checkbox" name="like" value="swiming" /> 游泳
  18. </p>
  19. <p>
  20. <label>照片:</label>
  21. <input type="file" name="person_pic">
  22. </p>
  23. <p>
  24. <label>个人描述:</label>
  25. <textarea name="about"></textarea>
  26. </p>
  27. <p>
  28. <label>籍贯:</label>
  29. <select name="site">
  30. <option value="0">北京</option>
  31. <option value="1">上海</option>
  32. <option value="2">广州</option>
  33. <option value="3">深圳</option>
  34. </select>
  35. </p>
  36. <p>
  37. <input type="submit" name="" value="提交">
  38. <input type="reset" name="" value="重置">
  39. </p>
  40. </form>

表单注册

表单常用样式、属性及示例

outline 设置input框获得焦点时,是否显示凸显的框线,一般设置为没有,比如:outline:none;
placeholder 设置input输入框的默认提示文字。

表单布局实例

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. .search_form{
  10. width:602px;
  11. height:42px;
  12. background:gold;
  13. margin:100px auto 0px;
  14. }
  15.  
  16. .input_txt{
  17. width:500px;
  18. height:40px;
  19. border:1px solid #0fad10;
  20.  
  21. /*清除输入框默认的padding值 */
  22. padding:0px;
  23.  
  24. /* 去掉输入框获得焦点时显示的蓝色的凸显的框线 */
  25. outline:none;
  26.  
  27. /* 设置文字缩进 */
  28. text-indent:10px;
  29.  
  30. /* 通过浮动解决行内元素默认间距以及基线对齐的问题 */
  31. float: left;
  32. }
  33.  
  34. .input_sub{
  35. width:100px;
  36. height:42px;
  37. background: #0fad10;
  38. /* 去到按钮默认的边框 */
  39. border:0px;
  40. /* 通过浮动解决行内元素默认间距以及基线对齐的问题 */
  41. float: left;
  42. color:#fff;
  43. font-size:18px;
  44. font-family:'Microsoft YaHei';
  45. }
  46.  
  47. </style>
  48. </head>
  49. <body>
  50. <form class="search_form" action="https://www.baidu.com/s">
  51. <!-- 通过placeholder属性来设置输入框默认的提示文字 -->
  52. <input type="text" class="input_txt" placeholder="请输入搜索内容" name="wd">
  53. <input type="submit" value="搜 索" class="input_sub">
  54. </form>
  55. </body>
  56. </html>

搜索

表格元素及相关样式

  1. 1、<table>标签:声明一个表格
  2. 2、<tr>标签:定义表格中的一行
  3. 3、<td>和<th>标签:定义一行中的一个单元格,td代表普通单元格,th表示表头单元格
  4. 表格相关样式属性
  5. border-collapse 设置表格的边线合并,如:border-collapse:collapse;
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. .tablestyle01{
  10. width:500px;
  11. height:300px;
  12. border:1px solid black;
  13. /* 表格水平居中 */
  14. margin:0px auto;
  15.  
  16. /* 将表格的边线合并成一条线 */
  17. border-collapse:collapse;
  18. }
  19.  
  20. .tablestyle01 tr:hover{
  21. background:lightpink;
  22. }
  23.  
  24. .tablestyle01 td{
  25. border:1px solid black;
  26. /* 设置文字的水平对齐方式 */
  27. text-align:center;
  28. }
  29. .tablestyle01 th{
  30. border:1px solid black;
  31. background:blue;
  32. color:white;
  33. }
  34.  
  35. </style>
  36. </head>
  37. <body>
  38. <!-- table>(tr>td*5)*4 -->
  39. <table class="tablestyle01">
  40. <tr>
  41. <th>id</th>
  42. <th>姓名</th>
  43. <th>性别</th>
  44. <th>年龄</th>
  45. <th>班级</th>
  46. </tr>
  47. <tr>
  48. <td>1</td>
  49. <td>张山</td>
  50. <td></td>
  51. <td></td>
  52. <td></td>
  53. </tr>
  54. <tr>
  55. <td>2</td>
  56. <td>李思</td>
  57. <td></td>
  58. <td></td>
  59. <td></td>
  60. </tr>
  61. <tr>
  62. <td>3</td>
  63. <td></td>
  64. <td></td>
  65. <td></td>
  66. <td></td>
  67. </tr>
  68. <tr>
  69. <td>4</td>
  70. <td></td>
  71. <td></td>
  72. <td></td>
  73. <td></td>
  74. </tr>
  75. </table>
  76.  
  77. </body>
  78. </html>

创建表格

css选择器二

4、id选择器

通过id名来选择元素,元素的id名称不能重复,所以一个样式设置项只能对应于页面上一个元素,不能复用,id名一般给程序使用,所以不推荐使用id作为选择器。
举例:

  1. #box{color:red}
  2. ......
  3. <p id="box">这是一个段落标签</p> <!-- 对应以上一条样式,其它元素不允许应用此样式 -->
  4. <p>这是第二个段落标签</p> <!-- 无法应用以上样式,每个标签只能有唯一的id -->
  5. <p>这是第三个段落标签</p> <!-- 无法应用以上样式,每个标签只能有唯一的id -->

5、组选择器

多个选择器,如果有同样的样式设置,可以使用组选择器。 举例:

  1. .box1,.box2,.box3{width:100px;height:100px}
  2. .box1{background:red}
  3. .box2{background:pink}
  4. .box2{background:gold}
  5.  
  6. <div class="box1">....</div>
  7. <div class="box2">....</div>
  8. <div class="box3">....</div>

6、伪类选择器

常用的伪类选择器有hover,表示鼠标悬浮在元素上时的状态。

  1. .box1{width:100px;height:100px;background:gold;}
  2. .box1:hover{width:300px;}
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. .box{
  10. width:100px;
  11. height:100px;
  12. background:gold;
  13. }
  14.  
  15. /* 定义伪类选择器 */
  16. .box:hover{
  17. width:200px;
  18. height:200px;
  19. background:red;
  20. }
  21.  
  22. .link01{
  23. color:black;
  24. text-decoration:none;
  25. }
  26.  
  27. .link01:hover{
  28. color:red;
  29. }
  30.  
  31. </style>
  32. </head>
  33. <body>
  34. <div class="box"></div>
  35. <br>
  36. <br>
  37. <br>
  38. <a href="#" class="link01">这是一个链接</a>
  39. </body>
  40. </html>

伪类选择器

css显示特性

  1. display属性是用来设置元素的类型及隐藏的,常用的属性有:
  2. 1none 元素隐藏且不占位置
  3. 2inline 元素以行内元素显示
  4. 3block 元素以块元素显示
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. .box{
  10. /* 将块元素转化为行内元素 */
  11. display:inline;
  12. background:gold;
  13. font-size:26px;
  14. }
  15.  
  16. .link01{
  17. background:pink;
  18. /* 将行内元素转化为块元素 */
  19. display:block;
  20. width:200px;
  21. height:200px;
  22.  
  23. }
  24. .box2{
  25. width:200px;
  26. height:200px;
  27. background:greenyellow;
  28.  
  29. /* 将元素隐藏起来 */
  30. display:none;
  31. }
  32.  
  33. </style>
  34. </head>
  35. <body>
  36. <div class="box2"></div>
  37. <div class="box">这是第一个div</div>
  38. <div class="box">这是第二个div</div>
  39. <a href="#" class="link01">这是第一个链接</a>
  40. <a href="#" class="link01">这是第二个链接</a>
  41. </body>
  42. </html>

显示特征

css元素溢出

当子元素的尺寸超过父元素的尺寸时,需要设置父元素显示溢出的子元素的方式,设置的方法是通过overflow属性来设置。

  1. overflow的设置项:
  2. 1visible 默认值。内容不会被修剪,会呈现在元素框之外。
  3. 2hidden 内容会被修剪,并且其余内容是不可见的。
  4. 3scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
  5. 4auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. .con{
  10. width: 300px;
  11. height: 300px;
  12. border:1px solid black;
  13. margin:50px auto 0px;
  14. /* 在父级上设置子元素溢出的部分如何显示 */
  15. /*
  16. overflow:
  17. visible 显示溢出的部分
  18. hidden 隐藏溢出的部分
  19. scroll 不管是否超出,都显示滚动条的背景框或者滚动条
  20. auto 根据子元素的尺寸,动态显示滚动条
  21. */
  22. overflow:auto;
  23. }
  24.  
  25. .box{
  26. width:200px;
  27. height:500px;
  28. background:gold;
  29. }
  30.  
  31. </style>
  32. </head>
  33. <body>
  34. <!-- .con>.box -->
  35. <div class="con">
  36. <div class="box">
  37. <div>文字内容</div>
  38. <br>
  39. <br>
  40. <br>
  41. <div>文字内容</div>
  42. <br>
  43. <br>
  44. <br>
  45. <div>文字内容</div>
  46.  
  47. </div>
  48. </div>
  49. </body>
  50. </html>

html和css进阶的更多相关文章

  1. 【CSS进阶】伪元素的妙用2 - 多列均匀布局及title属性效果

    最近无论是工作还是自我学习提升都很忙,面对长篇大论的博文总是心有余而力不足,但又不断的接触学习到零碎的但是很有意义的知识点,很想分享给大家,所以本篇可能会很短. 本篇接我另一篇讲述 CSS 伪元素的文 ...

  2. 转载 【CSS进阶】伪元素的妙用--单标签之美

    1.单个颜色实现按钮 hover .active 的明暗变化 请点击 转载利用伪元素单个颜色实现 hover 和 active 时的明暗变化效果 2.利用after伪类清除浮动 .clearfix:a ...

  3. CSS进阶之SASS入门指南

    CSS进阶之SASS入门指南         随着跟着公司学习项目的前端的推进,越来越对好奇了许久的SASS垂涎欲滴,哈哈,可能这个词使用不当,没有关系,就是对SASS有一股神秘的爱!好了,闲话不多说 ...

  4. webpack快速入门——CSS进阶:自动处理CSS3前缀

    为了浏览器的兼容性,有时候我们必须加入-webkit,-ms,-o,-moz这些前缀.目的就是让我们写的页面在每个浏览器中都可以顺利运行. 1.安装 cnpm i postcss-loader aut ...

  5. webpack快速入门——CSS进阶,Less文件的打包和分离

    1.要使用less,首先使用npm安装less服务 cnpm install less --save-dev 还需要安装Less-loader用来打包使用. cnpm install less-loa ...

  6. webpack快速入门——CSS进阶:SASS文件的打包和分离

    1.安裝:因为sass-loader依赖于node-sass,所以需要先安装node-sass cnpm install node-sass --save-dev cnpm install sass- ...

  7. webpack快速入门——CSS进阶:消除未使用的CSS

    使用PurifyCSS可以大大减少CSS冗余 1.安装 cnpm i purifycss-webpack purify-css --save-dev 2.引入glob,因为我们需要同步检查html模板 ...

  8. CSS进阶之路

    下面主要引用http://www.cnblogs.com/wangfupeng1988/tag/css知多少/ CSS进阶笔记: 一.学习CSS的三个突破点 1.浏览器如何加载和解析CSS——CSS的 ...

  9. css进阶之二:flex弹性布局

    布局模式是指一个盒子与其兄弟.祖先盒的关系决定其尺寸与位置的算法.css2.1中定义了四种布局模式,分别是块布局.行内布局.表格布局.以及定位布局.css3引入了新的布局模式Flexbox布局,灵活度 ...

随机推荐

  1. 组件 restful_API

    1 token 认证 2 权限 3 注册器和响应 4 频率组件

  2. 通过宝塔webhook,实现git自动拉取服务器代码

    1.宝塔安装webhook,添加一条记录,脚本内容为: #!/bin/bash echo "" #输出当前时间 date --date='0 days ago' "+%Y ...

  3. HTTP 400错误--请求无效

    在发送请求后台数据时会报出来HTTP400错误,请求无效,出现这个请求无效报错说明请求没有进入到后台服务里 原因:1.前端提交数据的字段名称或者是字段类型和后台的实体类不一致.导致无法封装 2.前端提 ...

  4. phpstrom 快速定位到当前编辑文件

    方法1(手动定位): 打开所要查找的文件,然后点击上图中红框中的按钮即可快速定位. 方法二(自动定位): Project面板右上角有个准星类的图标,点击后勾选上Autoscorll from Sour ...

  5. 算法(第四版)C# 习题题解——2.2

    写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 查找更为方便的版本见:http ...

  6. 使用pynlpir增强jieba分词的准确度

    在使用jieba分词时,发现分词准确度不高.特别是一些专业词汇,比如堡垒机,只能分出堡垒,并不能分出堡垒机.这样导致的问题是很多时候检索并不准确. 经过对比测试,发现nlpir进行分词效果更好.但是n ...

  7. Bugku-CTF之速度要快

    Day21 速度要快 速度要快!!!!!! http://123.206.87.240:8002/web6/

  8. luoguP1919 A*B Problem升级版 ntt

    luoguP1919 A*B Problem升级版 链接 luogu 思路 ntt模板题 代码 #include <bits/stdc++.h> #define ll long long ...

  9. MySQL explain执行计划优化

    https://www.linuxidc.com/Linux/2016-04/129965.htm

  10. Cordova开箱注意事项

    在进行cd 目录切换的时候 一定要 注意大小写 不然 node_modules 下的依赖包 会报错 区分大小写 Cordova 在打包的时候报错 一般是版本或sdk问题 cordova 的版本要和co ...