学习内容:CSS企业开发经验等
学习语言:CSS
htmlcss寒假学习

CSS部分

伪类选择器

hover伪类选择器

概述

可以在鼠标进入选择区域的时候,再让目标CSS代码生效.

格式:

%s:hover{......}第一个字符串是任意一个选择器的选择范围

标签

一个容器到底用那种展示方式展现,可以通过display属性来改变

行级元素

feature:内容决定元素所占位置,不可以通过css改变宽高.

块级元素

feature:可以独占一行,可以通过CSS改变宽高

行级块元素

内容决定大小,可以可以改宽高,不独占一行

属性

margin-left:元素之间的间距,可以为负数.可以造成镶嵌的感觉.

CSS开发思路

先定义功能再定义实体

举个例子:要定义数个大小与颜色有一定规范的盒子,然后通过调用功能来赋值.CSS一般可以对应多个HTML,作为工具包

  1. <html>
  2. <head>
  3. <meta charset="UTF-8">
  4. <title>Document</title>
  5. <link rel="stylesheet" href="b.css">
  6. </head>
  7. <body>
  8. <div class="red size1"></div>
  9. <div class="green size2"></div>
  10. <div class="gray size3"></div>
  11. </body>
  12. </html>
  1. .green{
  2. background-color: green;
  3. }
  4. .gray{
  5. background-color: grey;
  6. }
  7. .red{
  8. background-color: red;
  9. }
  10. .size1{
  11. width: 100px;
  12. height:100px;
  13. }
  14. .size2{
  15. width: 200px;
  16. height: 200px;
  17. }
  18. .size3{
  19. width: 300px;
  20. height: 300px;
  21. }

标签的自定义化

通过使用标签选择器,将html的原标签的作用属性改回没加之前,然后再添加想要改变的属性.以下就可以将斜体标签变成变红标签.
因为自带的标签会带有很多不需要的属性,重写拿CSS覆写一下会比较好.
比较好的例子就是下图,将内外边距置0.
如果一个属性没有被覆写,那么其保留原先的属性

  1. em{
  2. font-style: normal;
  3. color: red;
  4. }
  5. *{
  6. margin:0;
  7. padding:0;
  8. }

盒子模型

盒模型可以自己构建,构架完之后有利于网页的布置.div容器自己也带有padding.

计算盒子的大小

将水平,垂直长度分开算,然后撑起来.

盒子的组成部分

盒子壁(border)

内边距(padding)

复合属性,包含了四个方向的页边距,依次是:上 右 下 左,如果只输出三个值,依次为上,左右,下,如果是两个值,上下,左右.
当然,也可以使用padding-left之类的进行单独调用.
同样的特征与其他的符合属性类似.
padding的默认值是8px.

外边距(margin)

盒子内容(width+height)

定位技术

标准的定位,会将目标连带着自己的子集合一起移动到目标位置.
一般来说,absolute用来定位,realative用来当作参照物.
可以通过z-index来设置层

绝对定位

使用position:absolute开启功能,然后使用left/top/right/bottom(一般不用)定义其物体该方向边缘的距离边沿的长度.其是相对于最近的有定位的父级定位,如果没有,则相对与整个浏览器定位.
脱离原来位置的定位.

层模型

一个被绝对定位的实体,可以被随意放到它想放到的位置,不受其他要素的影响.

依赖定位

使用position:realtive开启功能,相对于自己原来的位置进行定位.
保留原来位置进行定位.会在原先的层的位置上,保留它的位置,不能被占用.

广告定位(固定定位)

使用position:fixed,语法类似于absolutin,参照物从文档变成窗口.如果想要实现居中,那么需要以下代码:

  1. div{
  2. position:absolute;
  3. left:50%;
  4. top:50%;
  5. margin-left:-50px;
  6. margin-top:-50px;
  7. /*上面的两个数值可能是通过每个图片大小来计算*/
  8. }

小作业

获得的知识:

待染色的组件与代表颜色的类不用嵌套,需要使用并列选择器将他们放在一起,但是用来当作锚点的父组件好像就可以用来嵌套,不是非常地清楚.

代码

  1. .circle{
  2. border: 10px;
  3. border-style: solid;
  4. height: 100px;
  5. width: 100px;
  6. margin: auto;
  7. border-color: aquamarine;
  8. border-radius: 50%;
  9. }
  10. .pos{
  11. position: fixed;
  12. left: 50%;
  13. top: 50%;
  14. margin-top: -50px;
  15. margin-left: -50px;
  16. }
  17. .red{
  18. border-color: red;
  19. }
  20. .blue{
  21. border-color: blue;
  22. }
  23. .orange{
  24. border-color: orange;
  25. }
  26. .black{
  27. border-color: black;
  28. }
  29. .green{
  30. border-color: green;
  31. }
  32. .bc{
  33. position: absolute;
  34. left: 0px;
  35. top: 0px;
  36. z-index: 0;
  37. }
  38. .blc{
  39. position: absolute;
  40. left: -140px;
  41. top: 0px;
  42. z-index: 0;
  43. }
  44. .rc{
  45. position: absolute;
  46. left: 140px;
  47. top: 0px;
  48. z-index: 0;
  49. }
  50. .oc{
  51. position: absolute;
  52. left: -70;
  53. top: 70;
  54. z-index: 1;
  55. }
  56. .gc{
  57. position:absolute;
  58. left: 70;
  59. top: 70;
  60. z-index: 1;
  61. }
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <link type="text/css" rel="stylesheet" href="b.css"/>
  5. </head>
  6. <body>
  7. <div class="pos">
  8. <div class="circle black bc"></div>
  9. <div class="circle blue blc"></div>
  10. <div class="circle red rc"></div>
  11. <div class="circle orange oc"></div>
  12. <div class="circle green gc"></div>
  13. </div>
  14. </body>
  15. </html>