CSS的神奇魔法3

335 阅读5分钟

温馨前言:生活中有没有一直帮助你的人呢? 在你遇到困难的 时候, 在你完全没有思绪的时候, 在你对生活快要放弃的时候... 是谁给了你力量呢? 那现在就对那个人说一声谢谢吧!! 大声的告诉他她,谢谢你一直 挺我!

伪元素选择器 和 伪类选择器

3-1 去掉无序列表 ul 的小圆点的CSS是:

.menu {
list-style: none;
}

list-style 可以取其它值:

disc:实心圆(CSS1)

circle: 空心圆(CSS1)

square: 实心方块(CSS1)

decimal: 阿拉伯数字(CSS1)

lower-roman: 小写罗马数字(CSS1)

但是我们一般不用,都是自己控制样式,原生提供的不好控制样式,一般都由开发人员自己控制样式显示。


3-2 控制元素的显示模式

ul li 标签默认是块级标签,独占一行。 可以通过 css 的 display 控制 标签的显示成 行内的元素或者行内块元素。

HTML 一般分为 块标记 和 行内标记两种类型, 它们也称 块元素 和行内元素。 具体如下:

3-2-1 块元素

常见的块元素有 <h1>~<h6><p><div><ul><ol><li><dl><dt><dd>等,其中<div>标记是最典型的块元素。

// 块元素特点:

1.每个块元素通常都会独自占据一整行或多整行
2.可以对其设置宽度、高度、对齐等属性
3.块级元素容器可以容纳多个嵌套的块级标签或者行内标签
4.常用于网页布局和网页结构的搭建

3-2-2 行内元素:

常见的行内元素有 <strong><b><em><i><del><s><ins><u><a><span>等,其中<span>标记最典型的行内元素。

// 行内元素特点:

1.行内元素不占有独立的区域,仅仅靠自身的字体大小和图像尺寸来支撑结构
2.一般不可以设置宽度、高度、对齐等属性
3.常用于控制页面中文本的样式
4.行内元素不能嵌套块级标签,只能嵌套其他的行内标签

3-2-3 行内块元素

表示方法:

.menu li {
    display:inline-block;
}


3-3 行高控制文字垂直居中

设置行高等于盒子的高度,就可以让文字在盒子的垂直方向居中对齐

e.g:

.menu li {
display: inline-block;
width: 100px;
height: 30px;
background-color: #ccc;
text-align: center;
/* 设置了所有 li标签的行高为 30px */
line-height: 30px;
}

3-4 鼠标滑过标签的样式处理

鼠标滑过标签,可以通过hover控制样式的显示。当鼠标滑过时,自动添加hover样式,移开时自动去掉样式

e.g:

/* 当鼠标移到元素上的添加下面样式,鼠标移开的时候会自动去掉样式 */

.menu a:hover {
background-color: aquamarine;
}

注: 在ie8及以上的浏览器可以让所有的标签都可以设置hover的css样式设置


3-5 控制文字的修饰符

CSS中是通过text-decoration控制文字的修饰线,可以有 上划线、下划线、贯穿线、无等选项,一般我们设置为 none,就是去掉修饰线

e.g:

text-decoration: none;

注:none: 指定文字无装饰

注:underline: 指定文字的装饰是下划线

注:overline: 指定文字的装饰是上划线

注:line-through: 指定文字的装饰是贯穿线


3-6 CSS 的 继承性

所谓继承性是指书写CSS样式表时,子标记会 继承 父标记的某些样式,如文本颜色字号。想要设置一个可继承的属性,只需将它应用于父元素即可。

恰当地使用继承可以简化代码,降低CSS样式的复杂性。但是,如果在网页中所有的元素都大量继承样式,那么判断样式的来源就会很困难,所以对于字体文本属性等网页中通用的样式可以使用继承。例如,字体字号颜色行距等可以在body元素中统一设置,然后通过继承影响文档中所有文本。

注:a标签不继承父容器的字体颜色

注:所有字相关的都可以继承,比如:color、text-系列、font-系列、line-系列、cursor

不是所有的CSS属性都可以继承,例如,下面的属性就不具有继承性:边框、外边距、内边距、背景、定位、元素宽高属性

注:所有盒子相关的属性都不能继承。


3-7 伪元素选择器

伪元素 是控制内容。在CSS3的标准高中是用两个冒号,为了兼容老的浏览器依然使用一个冒号

:first-line 伪元素 第一行。

:first-letter 伪元素, 第一个字符。

// 注意:以上两个伪元素只能用于块级元素

3-8 伪类选择器

:focus 获得焦点,文本框需要点击。 超级链接、p标签等只要tab高亮就是获得焦点

:hover 鼠标移动上去就会触发

: acive 鼠标一直点击状态

: link 默认超级链接的样式。一般不用 a

: visited 链接访问过了之后,显示的样式

注: 伪类: first-child 第一个孩子 ,last-child: 最后一个孩子。

伪类选择器汇总:

1.hover

2.Active

3.Focus

4.Link

5.Visited

6.Fisrt-child

7.Last-child

注: 大家可以自己试试哦~看看页面效果!


3-9 样式的优先级

如果优先级相同的情况下: 就近原则(或者用 层叠性来解释),最后写的样式优先级高。

如果优先级相同,比如:都是类选择器的时候,那么就比较类选择器的个数。

选择器优先级计算规则:

正常计算法:

第一步: 先看有没有important的,有,important最大。

第二步: 看有没有行内的样式,有,则行内最牛。

第三步: 统计选择器中的ID的个数,谁多谁胜出。

依次往后统计: 类选择器的个数、标签选择器的个数。

好啦 再多的点都不如练习记得快哦! 动动你的小手指吧!

谢谢阅读!

明日分享:关于CSS的我还有什么要说的?