欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CSS知识总结

程序员文章站 2022-03-30 11:52:38
...

1. css引入三种方式

(1)行间样式;(2)页面内css;(3)外部css文件,用<link rel="stylesheet" href="">

注意:HTML标签解析时,解析一个标签,浏览器执行一个标签;当解析link标签时,浏览器开启一个新的线程, 异步的加载link标签引用的文件。

2. css选择器

(1)#id选择器;(2).class选择器;(3)标签选择器;(4)通配符 * 选择器;

(5)父子选择器:有父子关系的选择器组成;比如:div  .demo{ },即div标签下的所有class是demo的标签被选中;

(6)直接子元素选择器:div > span 即div下的子级span被选中,而子级的子级不会被选中。

注意:父子选择器和直接子元素选择器,是自子级向父级查找符合的标签。

(7)并列选择器:div.demo{ }

(8)分组选择器:div, span, p{ }

(9)伪类选择器:div:hover { },当鼠标触碰时触发。(:hover 是伪类选择器之一)

(10)属性选择器:标签的属性有:id、class等

<div class="" id=""></div>,

有属性是id的标签都别选中:

CSS知识总结

有属性是id = “only”的标签被选中:

CSS知识总结

3. css权重

CSS知识总结

注意:权重值的进制是256,计算机中的infinity是个无穷大的定值,color: red !important;作用在属性上。

4. css属性

(1)border-style:solid(实线)、dotted(点状虚线)、dashed(线状虚线)

border是复合属性:

CSS知识总结

2)font-size:字体大小,浏览器中字体的宽高一样;font-style:italic;斜体;font-family:arial;这个字体是苹果乔布斯创造的;

(3)text-align:left(左)、center(中)、right(右),文字在框中的左右位置。

(4)line-height:30px |  1.2em |  120%;“文字的行”高,即文字所在行的高度,不是文字的高度;文字在“文字的行”的垂直居中,所以当“文字的行”高度与框高一样时,会有文字垂直居中的效果。

padding也可以使文字垂直居中:文字所在行的高度inline-height 和height大小一样,然后给padding-top和padding-bottom赋相同的值。

div {
    width: 100px;
    height: 20px;
    line-height: 20px;
    padding: 30px 0px;
    background-color: green;
    color: white;
}

效果: 

CSS知识总结

好处:带有文本属性的标签会直接与文字对齐,其结果也是会居中。

比如:div标签里面的img标签,会直接与文字对齐。类似这种情况:

CSS知识总结

 

5)单位:px 和 em 都是相对单位。px是相对屏幕的,em是相对文字的;1 em = 1 font-size;

(6)text-decoration:none(无线)| overline(上划线)| underline(下划线)|  line-through(中划线)

text-decoration也是复合属性:line(线)| style(样式)| color(颜色)

CSS知识总结

7)cursor:pointe(小手)| move(十字架),还有很多值,参考w3school文档 。 

(8)行级元素:内容决定元素所占位置,不可通过css改变宽高;(a em del span strong)

块级元素:内容决定大小,独占一行,内容溢出时自动换行;(p ul ol li div form )

CSS知识总结

div标签特性:高度:内容决定;宽度:自适应。

行级块元素:内容决定大小,可以改变宽高; (img)

注意:(重点)

(1)行级元素只能嵌套行级元素;块级元素可以嵌套行级和块级;

(2)p标签是块级元素,而p标签内不能嵌套块级元素

CSS知识总结

结果是:p标签被div切割成两个。

CSS知识总结

(3)a标签是行级元素,但是a标签不能嵌套a标签

5. margin的auto值的理解

父子级都是块级元素,让子级margin为auto,这样就可以自适应居中显示。

而在inline-block的元素中,margin:auto是无效的,是0;

6. 文本类元素的理解:inline、inline-block

文本类元素,都有文字间隙。

比如:多个img标签放在一起,会有文本间隙,解决办法:代码不要留空格。

代码:

CSS知识总结

效果:有文本间隙

CSS知识总结

解决办法:

CSS知识总结效果:

CSS知识总结

7. 文字与前面标签的对齐方式:vertical-align属性

(1)块级元素后的文字:块级元素独占一行,所以后面文字在其下面。

CSS知识总结

效果:

CSS知识总结

(2)行级块元素:

img标签:后面文字与图片底边对齐

CSS知识总结

 效果:

CSS知识总结

有文字的行级块元素:

CSS知识总结

效果:

CSS知识总结

问题来了:带有文字的inline-block元素,后面的文字会和文字对齐,而不是与底边对齐。

如何解决:用vertical-align属性,调整标签后面文字的对齐线

vertical-align: top \ middle \ bottom | px;