1.1行高

行高属于文字的属性

行高=文字大小+上间距+下间距(默认行高=18px)

行高的作用:

设置文字垂直方向中有距离

文字垂直居中(行高=容器的高度)

影响行高的因素:

文字大小可以改变行高

文字字体也可以改变行高

1.2行高单位(了解)

px,em,百分比,不带单位

如果给单独一个标签设置行高

px: 行高值就是设置的行高,与文字大小无关

em:   行高值=设置的行高*文字大小

百分比: 行高值=设置的行高*文字大小

不带单位: 行高值=设置的行高*文字大小

如果给父元素设置行高(line-height),子元素行高的特点

父px: 子元素的行高=父元素的行高值

父em:   子元素的行高=父元素行高值*父元素文字大小(先计算后继承)

父百分比:子元素的行高=父元素行高值*父元素文字大小(先计算后继承)

父不带单位: 子元素的行高=父元素的行高*子元素的大小(先继承后计算)

1.3盒子模型(重点)

作用: 实现网页布局(在网页画盒子)

组成:

边框: border

内边距: padding  (盒子中的内容与盒子的边框的距离)

外边距: margin  (盒子与和盒子间的距离)

例子:解决两张图片的默认间距方法:

1.(不推荐)连写

  1. <body>
  2. <img src="img/shunfeng.jpg"><img src="img/up.jpg">
  3. </body>

2.设置浮动

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Examples</title>
  5. <style type="text/css">
  6. img{
  7. height: 150px;
  8. width: 150px;
  9. float: left;
  10. }
  11. </style>
  12. </head>
  13. <body>
  14. <img src="img/shunfeng.jpg">
  15. <img src="img/up.jpg">
  16. </body>
  17. </html>

1.4边框(border)

border-style: none; 默认没有边框

solid 实线

dotted 点线

dashed 虚线

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style type="text/css">
  7. .box{
  8. width: 300px;
  9. height: 300px;
  10. /*设置边框颜色*/
  11. border-color: red;
  12. /*设置边框的宽度*/
  13. border-width: 1px;
  14. /* 设置边框的样式*/
  15. border-style: solid;
  16. }
  17.  
  18. </style>
  19. </head>
  20. <body>
  21. <div class="box"></div>
  22. </body>
  23. </html>

border属性联写中:

a.必须设置border-style

b.没有顺序限制

       

去掉边框

border: 0 none;

去掉轮廓线

outline-style:none

1.5laber控件的使用

1.6内边距

内边距(padding):内容与边框之间的距离

注意:padding 只能移动盒子的内容

padding属性联写: padding: 10px; 内边距的上下左右都移动

padding: 10px 20px;  上下10px,左右20px

padding: 10px 20px 30px; 上10px 左右20px 下30px

padding: 10px 20px 30px 40px;  上10  右20  下30  左40

盒子大小问题:

边框和内边距可以改变盒子大小

盒子大小(宽度) = 内容的宽度+左右内边距+左右边框

边框

嵌套盒子padding值对盒子大小的影响:

“继承”的盒子,默认不设置宽度的情况下,给与盒子设置padding值在父盒子宽度范围内,不会影响盒子大小

1.7外边距

外边距:盒子与盒子之间的距离。移动盒子。

属性联写:与内边距联写一样

注意:外边距不会改变盒子大小

特点: 垂直外边距合并,会以最大外边距的值为准

垂直外边距塌陷--》解决方式:

a.给父元素设置边框

b.给父元素设置overflow:hidden;

由于overflow:hidden触发了元素的bfc(格式化上下文),浏览器自动把这个元素独立出来(包裹性)

2.1 标准流(normal flow)

在页面中标签(元素)默认的显示方式就是标准流的显示方式

2.2 浮动

用法:  float: left | right;

特点: 1.浮动的元素不占位置 (脱标--脱离标准流的显示方式)

    2.浮动可以让块级元素在一行上显示

3.可以进行元素的模式转换(行内块)

作用:

1. 图片文字环绕效果

2.让块级元素在一行上显示使用浮动

网页布局

制作导航

2.2.1清除浮动(清除浮动带来的影响)

清除浮动:

1.使用clear: left | right | both;

直接在浮动的元素后面增加一个空标签,在设置该空标签clear

2.给父元素设置overflow:hidden;

overflow:hidden: 可以将超出父元素的部分进行隐藏

3.使用伪元素清除浮动(推荐)

或者

调用者:

2.3 样式初始化

搜狐初始化:

  1. /* 全局CSS定义 */
  2. body{font-family:"\5B8B\4F53","Arial Narrow",HELVETICA;text-align:center;margin:0 auto;padding:;background:#FFF;font-size:12px;color:#333;}
  3. body > div{text-align:center;margin-right:auto;margin-left:auto;}
  4. div,form,ul,ol,li,span,p{margin:;padding:;border:;}
  5. img,a img{border:;margin:;padding:;}
  6. h1,h2,h3,h4,h5,h6{margin:;padding:;font-size:12px;font-weight:normal;}
  7. ul,ol,li{list-style:none}
  8. table,td,input{font-size:12px;padding:}
  9. /* 默认链接颜色 */
  10. a{outline-style:none;color:#333;text-decoration:none}
  11. a:hover{color:#c00;text-decoration:underline;}
  12.  
  13. /*清除链接虚框*/
  14. /*a,area {blr:expression(this.onFocus=this.blur()) } for IE
  15. :focus {-moz-outline-style: none; } for Firefox
  16. */

自定义初始化

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style type="text/css">
  7. body,p,h1,h2,h3,h4,h5,h6,ul,ol,dl,li,dt,dd{
  8. margin: 0;
  9. padding: 0;
  10. list-style:none;
  11. font-size: 12px;
  12. font-family: "宋体","微软雅黑";
  13. }
  14. a{
  15. color: #000;
  16. text-decoration: none;
  17. }
  18. a:hover {
  19. color: red;
  20. }
  21. img,input{
  22. margin: 0;
  23. padding: 0;
  24. border: 0;
  25. outline-style: none;
  26. }
  27. .clearfix:after{
  28. content: "";
  29. height: 0;
  30. line-height: 0;
  31. display: block;
  32. clear: both;
  33. visibility: hidden;
  34. }
  35. .clearfix{
  36. zoom: 1;
  37. }
  38. </style>
  39. </head>
  40. <body>
  41.  
  42. </body>
  43. </html>

2.4 overflow

京东下拉框例子:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style type="text/css">
  7. .box{
  8. width: 300px;
  9. height: 50px;
  10. background-color: red;
  11. border: 1px solid black;
  12. overflow: hidden;
  13. }
  14. .list{
  15. height: 400px;
  16. background-color: yellow;
  17. }
  18. .title{
  19. height: 50px;
  20. }
  21. .box:hover{
  22. overflow:visible;
  23. cursor: pointer;
  24. }
  25. </style>
  26. </head>
  27. <body>
  28. <div class="box">
  29. <div class="title">全部商品分类</div>
  30. <div class="list">
  31. <li></li>
  32. <li></li>
  33. <li></li>
  34. <li></li>
  35. <li></li>
  36. <li></li>
  37. </div>
  38. </div>
  39.  
  40. </body>
  41. </html>

导航练习:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style type="text/css">
  7. body,p,h1,h2,h3,h4,h5,h6,ul,ol,dl,li,dt,dd{
  8. margin: 0;
  9. padding: 0;
  10. list-style:none;
  11. font-size: 12px;
  12. font-family: "宋体","微软雅黑";
  13. }
  14. a{
  15. color: #000;
  16. text-decoration: none;
  17. }
  18. a:hover {
  19. color: red;
  20. }
  21. img,input{
  22. margin: 0;
  23. padding: 0;
  24. border: 0;
  25. outline-style: none;
  26. }
  27. .clearfix:after{
  28. content: "";
  29. height: 0;
  30. line-height: 0;
  31. display: block;
  32. clear: both;
  33. visibility: hidden;
  34. }
  35. .clearfix{
  36. zoom: 1;
  37. }
  38.  
  39. .w{
  40. width: 1096px;
  41. height: 50px;
  42. margin: 0 auto;
  43. }
  44. .nav{
  45. height: 50px;
  46. background-color: #458FD2;
  47. line-height: 50px;
  48. }
  49.  
  50. .l_list{
  51. float: left;
  52. }
  53. .r_list{
  54. float: right;
  55. }
  56. .nav li{
  57. float: left;
  58. }
  59. .nav li a{
  60. height: 50px;
  61. padding: 0 15px;
  62. display: block;
  63. color: #fff;
  64. text-decoration: none;
  65. }
  66. .nav li a:hover{
  67. background-color: #474E5D;
  68. }
  69. </style>
  70. </head>
  71. <body>
  72. <div class="nav">
  73. <div class="w">
  74. <div class="l_list">
  75. <ul>
  76. <li><a href="#">前端开发</a></li>
  77. <li><a href="#">前端开发</a></li>
  78. <li><a href="#">前端开发</a></li>
  79. <li><a href="#">前端开发</a></li>
  80. </ul>
  81. </div>
  82. <div class="r_list">
  83. <ul>
  84. <li><a href="#">全栈开发</a></li>
  85. <li><a href="#">全栈开发</a></li>
  86. <li><a href="#">全栈开发</a></li>
  87. <li><a href="#">全栈开发</a></li>
  88. <li><a href="#">全栈开发</a></li>
  89. </ul>
  90. </div>
  91. </div>
  92. </div>
  93. </body>
  94. </html>

2.5伪元素

after:

before

选择区域:

3.定位(重点)

作用:通过定位可以移动元素位置

使用场景:当页面中出现盒子压盒子的效果时,推荐使用定位

定位特点: 定位体现元素之间的层级关系

分类:

静态定位:

绝对定位:

相对定位:

固定定位:

  1. <!--
  2. 浮动元素的特点:
  3. 1)脱标
  4. 2)改变元素的显示方式
  5. 3)显示方式与行内块一致
  6.  
  7. 定位有四种:
  8. 1)静态定位(标准流)
  9. 关键字: position: static;
  10. 2)相对定位
  11. 关键字: position: relative;
  12. 特点:
  13. 1)相对于自己原本的位置发生的偏移。
  14. 2)没有脱标
  15. 3)没有改变元素的显示方式
  16. 3)绝对定位:
  17. 关键字: position: absolute;
  18. 特点:
  19. 1)位置关系:
  20. a:如果绝对定位的元素没有父元素,那么绝对定位的元素的位置是以body为基准发生平移
  21. b:如果绝对定位的元素有父元素,但是父元素没有定位,那么绝对定位的元素的位置还是以body为基准发生平移
  22. c:如果绝对定位的元素有父元素,并且父元素有定位(非静态),那么绝对定位的元素的位置是以父元素基准发生平移的
  23. 2)脱标(不占位置)
  24. 3)改变了元素的显示方式
  25. 4)显示方式变为行内块元素
  26.        4)固定定位
    1)位置关系:
                   a. 固定定位的元素始终是以body(浏览器 )可视区域为参照设置定位
                2)脱标(不占位置)
    3)改变元素的显示方式
    4)元素的显示方式变为
  27.  
  28. 注意:
  29. 一般情况下定位都要配合定位偏移属性来使用trbl:top,right,bottom,left
  30.  
  31. -->

3.1.1静态定位

语法: position:static;

left:10px;

top:;

right:;

bottom:;

特点: 静态定位不能移动元素位置

静态定位的元素就是标准流元素的显示方式

3.1.2绝对定位(要么看父容器要么看浏览器)

语法: position: absolute;

绝对定位的位置移动特点:

1.如果一个元素设置了 绝对定位,如果该元素的父元素设置了静态定位或者没有定位,那么                          当前子元素是以body(浏览器的左上角)为参照进行位置移动

2.如果一个子元素设置了绝对定位,如果该子元素的父元素设置了除静态定位以外的其他定                           位,那么当前绝对定位的子元素会以父元素左上角为参照进行位置移动

绝对定位本身特点:

绝对定位的元素脱标不占位置

绝对定位可以实现模式转换

3.1.3相对定位(看自己定位)

语法:position:relative;

特点:

相对定位元素是以元素原来的位置为参照设置定位

相对定位的元素占位置

相对定位不能实现模式转换

一般情况下要设置子绝父相(子元素绝对定位,父元素相对定位)

3.1.4固定定位(死心眼子)

position:fixed;

特点:  固定定位元素脱标不占位置

固定定位元素可以实现模式转换

固定定位的元素始终是以body(浏览器 )可视区域为参照设置定位

3.2 Z-index(重点)

定位元素的特点:

1.只有定位(除静态定位)的元素有层级关系

2.通过z-index属性改变层级关系

层级关系的特点:

1.当给一个元素设置定位,那么该元素默认的层级 z-index值是auto(约为0),

       2.当z-index值相同的情况下,那么最后的定位元素层级要高于前面的定位元素【后来居上】

3.当z-index值不同的情况下,那么z-index值越大该元素的层级越高。

4.如果元素的父元素设置了z-index值,那么父元素的z-index值越大,那么该元素的层级越高

3.3定位盒子居中(了解)

盒子居中: margin: 0 auto; 标准流的盒子居中显示

绝对定位的盒子居中显示:

left:50%;  父元素宽度一半

margin-left: -元素自己宽度的一半

例子1:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style type="text/css">
  7. .box{
  8. width: 400px;
  9. height: 400px;
  10. border: 1px solid red;
  11. margin: 0 auto;
  12.  
  13. position: relative;
  14. }
  15. .one{
  16. width: 200px;
  17. height: 200px;
  18. background-color: red;
  19. margin: 0 auto;
  20.  
  21. position: absolute;
  22. left: 100px;
  23. }
  24. </style>
  25.  
  26. </head>
  27. <body>
  28. <div class="box">
  29. <div class="one"></div>
  30. </div>
  31. </body>
  32. </html>

更快的例子:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style type="text/css">
  7. .box{
  8. width: 400px;
  9. height: 400px;
  10. border: 1px solid red;
  11. margin: 0 auto;
  12.  
  13. position: relative;
  14. }
  15. .one{
  16. width: 100px;
  17. height: 100px;
  18. background-color: red;
  19. margin: 0 auto;
  20.  
  21. position: absolute;
  22. /*父元素的一半*/
  23. left: 50%;
  24. /*向元素自己的位置相反的方向移动*/
  25. margin-left: -50px;
  26. }
  27. </style>
  28.  
  29. </head>
  30. <body>
  31. <div class="box">
  32. <div class="one"></div>
  33. </div>
  34. </body>
  35. </html>

3.4 css标签包含规范

段落标签中不能包含标题标签

段落标签不能包含div

行内元素最好不要包含块级元素

3.5网页布局规避脱标流(了解)

网页布局优先考虑标准流

然后考虑浮动

最后使用定位

元素模式转换必须使用display

3.5.vertical-align属性

text-align 水平对齐

vertical-align 垂直对齐

默认行内块元素(img,input),有默认的vertical-align属性

vertical-align: baseline ; (基线)默认值

top;  顶部对齐

middle; 中部对齐

bottom; 底部对齐

3.6CSS元素的可见性(了解)

overflow:hidden 将溢出部分隐藏

display: none; 元素隐藏  不占位置

display: block;  显示元素

visibility:hidden; 元素隐藏       占位置

3.7logo内容移除(了解)

Logo  一般推荐给a标签设置背景图片

Logl  中a标签最好设置文字

移除文字 : text-indent: -9999px

3.8精灵图(掌握)

精灵图就是一种特殊的背景图片

使用: 给元素设置精灵图为背景图片

通过background-position移动背景图片

注意: 使用fw,精灵图要使用打开方式

4.1滑动门(补充)

作用:1.制作网页导航

2.滑动门导航使用背景图片制作

3.滑动门导航内容不能设置宽度

4.2vertical-align属性补充

让图片垂直居中方法之一设置行高和vertical-align

元素的显示方式:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. /*
  8. 总结:
  9. 1)日常生活中的填充不会改变盒子的大小,但是在css中的填充(padding)一般会改变盒子的大小
  10. 2)在特定的情况下padding是不会改变盒子大小的:在父元素中有一个子元素,并且子元素没有设置宽度,那么子元素的宽高会与父元素保持一致,如果这个时候设置padding-left,padding-right,是不会改变盒子大小的。
  11. 3)行内元素不建议设置padding,如果给行内元素设置padding,上下padding不会有任何作用
  12.  
  13. 元素的显示方式:
  14. 1)行内元素
  15. 一行内可以显示多个
  16. 不可以设置宽高
  17. 宽高由内容决定
  18. 2)块级元素
  19. 独占一行
  20. 可以设置宽高
  21. 如果不设置宽高,宽度与父元素保持一致,高度由内容决定
  22. 3)行内块元素
  23. 一行内可以显示多个
  24. 可以设置宽高
  25. 如果不设置宽高,宽高由内容决定
  26. */
  27. .one {
  28. width: 1000px;
  29. height: 200px;
  30. background-color: #ccc;
  31. }
  32. .two {
  33. height: 100px;
  34. padding-left: 100px;
  35. background-color: pink;
  36. }
  37. span {
  38. padding: 10px;
  39. }
  40. </style>
  41. </head>
  42. <body>
  43. <div class="one">
  44. <div class="two"></div>
  45. </div>
  46. <span>小追命</span>
  47. </body>
  48. </html>

CSS(中)篇的更多相关文章

  1. html/css基础篇——DOM中关于脱离文档流的几种情况分析

    所谓的文档流,指的是元素排版布局过程中,元素会自动从左往右,从上往下的流式排列.并最终窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素.脱离文档流即是元素打乱了这个排列,或是从排版中拿走. ...

  2. 《手把手教你》系列技巧篇(十八)-java+ selenium自动化测试-元素定位大法之By css中卷(详细教程)

    1.简介 按计划今天宏哥继续讲解倚天剑-css的定位元素的方法:ID属性值定位.其他属性值定位和使用属性值的一部分定位(这个类似xpath的模糊定位). 2.常用定位方法(8种) (1)id(2)na ...

  3. CSS中如果实现元素浮动和清除浮动,看这篇文章就足够了

    浮动基本介绍 在标准文档流中元素分为2种,块级元素和行内元素,如果想让一些元素既要有块级元素的特点也同时保留行内元素特点,只能让这些元素脱离标准文档流即可. 浮动可以让元素脱离标准文档流,可以实现让多 ...

  4. 对CSS中的Position、Float属性的一些深入探讨

    对CSS中的Position.Float属性的一些深入探讨 对于Position.Float我们在平时使用上可以说是使用频率非常高的两个CSS属性,对于这两个属性的使用上面可能大多数人存在一些模糊与不 ...

  5. CSS中"!important"的使用

    本篇文章使用最新的IE10以及firefox与chrome测试(截止2013年5月27日22:23:22) CSS的原理: 我们知道,CSS写在不同的地方有不同的优先级, .css文件中的定义 < ...

  6. 原来css中的border还可以这样玩

    原来css中的border还可以这样玩 前面的话: 在看这篇文章之前你可能会觉得border只是简单的绘制边框,看了这篇文章,我相信你也会跟我一样说一句"我靠,原来css中的border还可 ...

  7. 深入理解CSS中的层叠上下文和层叠顺序(转)

    by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=5115 零.世间的道 ...

  8. 举例详解CSS中的cursor属性

    这篇文章主要举例介绍了CSS中的cursor属性,包括zoom-in/zoom-out和grab/grabbing等常用属性值的使用,需要的朋友可以参考下 一.开篇之言 CSS3的领域范围已经渗透到了 ...

  9. 使用CSS中的meta实现web定时刷新或跳转的方法

    这篇文章主要介绍了使用CSS中的meta实现web定时刷新或跳转的方法,比使用JavaScript脚本实现起来更加简单一些,需要的朋友可以参考下 meta源信息功能之页面定时跳转与刷新 几乎所有的网页 ...

随机推荐

  1. Luogu P4932 浏览器(二进制)

    P4932 浏览器 题意 题目背景 __stdcall在用\(Edge\)玩\(slay\)的时候,鼠标会经常失灵,这让她十分痛苦,因此她决定也要让你们感受一下\(Edge\)制造的痛苦. 题目描述 ...

  2. NOIP2018提高组初赛选讲

    说实话,这次的初赛比上一次的要简单. 不过还有些变态的题目. 在一条长度为1 的线段上随机取两个点,则以这两个点为端点的线段的期望 长度是( ). A. 1 / 2 B. 1 / 3 C. 2 / 3 ...

  3. sudo apt-get update报错E: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。

    解决方案1: 将对应的PPA删除掉即可 cd /etc/apt/suorces.list.d mv **.list **.list.bak 解决方案2: 更改源 cp /etc/apt/source_ ...

  4. JavaScript RegExp 对象的三种方法

    JavaScript RegExp 对象有 3 个方法:test().exec() 和 compile().(1) test() 方法用来检测一个字符串是否匹配某个正则表达式,如果匹配成功,返回 tr ...

  5. Life of Pi

    ·when you look into his eyes,you are seeing your own emotionsreflected back at you,nothing else. ·Go ...

  6. 《DSP using MATLAB》Problem 7.31

    参照Example7.27,因为0.1π=2πf1   f1=0.05,0.9π=2πf2   f2=0.45 所以0.1π≤ω≤0.9π,0.05≤|H|≤0.45 代码: %% +++++++++ ...

  7. dubbo admin详解

    运行 dubbo-admin的启动运行其实是一个比较简单的操作,但是由于它采用了前后端分离,前端又是使用的node.js,如果有不熟悉的同学会容易踩坑. 这里只简单介绍一下步骤: 1.从github下 ...

  8. Luogu P2764 最小路径覆盖问题(二分图匹配)

    P2764 最小路径覆盖问题 题面 题目描述 «问题描述: 给定有向图 \(G=(V,E)\) .设 \(P\) 是 \(G\) 的一个简单路(顶点不相交)的集合.如果 \(V\) 中每个顶点恰好在 ...

  9. 基于MaxCompute打造轻盈的人人车移动端数据平台

    摘要: 2019年1月18日,由阿里巴巴MaxCompute开发者社区和阿里云栖社区联合主办的“阿里云栖开发者沙龙大数据技术专场”走近北京联合大学,本次技术沙龙上,人人车大数据平台负责人吴水永从人人车 ...

  10. Django项目:CRM(客户关系管理系统)--50--41PerfectCRM实现全局账号密码修改

    # gbacc_urls.py # ————————38PerfectCRM实现全局账号登录注销———————— from django.conf.urls import url from gbacc ...