CSS进阶

1.选择器

1.1复合选择器

1.1.1后代选择器:空格

 

 我的理解:其实仍属于标签选择器,只是多了嵌套关系,让其指代更明确。个人认为:如果标签多了的时候,不如用类选择器好,不易出错。

1.1.2 子代选择器:>

 

 

 可见,子代选择器会把儿子以及儿子内部的标签全都改为一个样式,

总结:

根据上面这个效果,还是不如类选择器好。

1.2并集选择器

 

 那些选择器也可以是类选择器,任何选择器都行

1.3交集选择器

 

 

 直接连着写,不用空格。

1.4hover伪类选择器

hover:盘旋。 懂英文单词还是好处多多。

 当鼠标悬停在这个内容上时,就出现hover伪类选择器的样式。

任何标签都可以添加伪类,任何一个标签都可以鼠标悬停。

1.5Emmet语法

其实就是提示,当使用英文输入法输入:div,再回车,直接出现div完整标签。

    <!-- 一次性输出同级的div和p的指令:div+p -->
    <div></div>
    <p></p>
    <!-- 一次输出父子的div与p,p为父,div为子,指令:p>div -->
    <p>
        <div></div>
    </p>
    <!-- 输出父ul,三个子li,指令:ul>li*3 -->
    <ul>
        <li></li>
        <li></li>
        <li></li>
    </ul>
    <!-- 输出父ul,三子li,且每个子中含文字内容111.指令:ul>li{111}*3 -->
    <ul>
        <li>111</li>
        <li>111</li>
        <li>111</li>
    </ul>
    <!-- 输出ul,ul中含3个li,li中内容分别为1,2,3.指令:ul>li{$}*3 -->
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>

2.背景相关属性

2.1背景颜色

2.2背景图片

图片的尺寸比盒子的尺寸大的话,就会使得其只能显现部分。

2.3背景平铺

2.4背景位置

 

 

 

对于使用数值和坐标系时,x轴向右为正,y轴向下为正,页面的左上角为原点。

背景色和背景图片只显示在盒子里面的部分,。

2.5背景相关属性连写

 对于那几个属性值的书写先后顺序并无要求,因为它们的取值并无冲突把可能。

对于背景位置:水平 垂直。  若用英文单词 left right top bottom center表示的话,无先后顺序,单词不冲突。   但是若用数值 +px表示的话, 有先后顺序:水平 垂直

2.6 img标签和背景图片的区别(拓展)

不能撑开div标签:是指图片不能撑开div的大小尺寸。例如:你设置div的宽300,高300;而你把一张600*600的图片作为背景图放进div盒子中,div盒子只会显示图片中300*300的部分,不会完整显示图片。 更不会把div自身放大来迎合图片大小。

至于在制作网页时,什么时候用img,什么时候用div+背景图片; 

一般:重要的图就用img , ,否则就用div+背景图片

3.元素显示模式

        目标:能认识三种常见的元素显示模式,并通过代码实现不同 元素显示模式的转还。

3.1块级元素

               

像div标签、p标签,都是独占一行,哪怕标签内只有一个字,其他标签紧跟的时候,都得换行,

body标签是整个页面,其宽占整个页面的宽,所以div的宽也是这样,因body是div的爹。

 设置了它的宽高,虽然行内后面还有空位,但因为独占一行,不能让其他标签来空位处。

了解这些,是为了让自己在制作网页时,明白什么时候用独占一行的, 什么时候不用。

3.2行内元素

即使你给它设宽高也无法生效。

另外,若不知道一个标签是块级还是行内,可以自己使用代码进行测试,首先测试能否独占一行,再测试宽高能否设置生效。

3.3行内块元素

3.4元素显示模式转换

        目标:能够认识 元素显示模式,并通过代码实现元素显示模式的转换。

这里,div本身是块级的,每个标签独占一行,且可设置宽高。

接着,把它换成行内块的形式,即一行可多个标签,还能设置宽高。如下:

符合预期。

 span标签本身是行内形式,即一行可多个标签, 宽高不可设置(或说设置了无法生效)

接着,把其改成行内块形式(一行可多个标签,宽高可设置)

再尝试把其换成块级形式:

3.5拓展

         拓展1:HTML嵌套规范注意点

简而言之:就是大容器套小容器符合逻辑,而小容器套大容器就不符合逻辑了。

代码确实没报错, ,我们看效果

效果也还正常。

我们使用调试工具看看:

代码被修改了,没有嵌套关系了,所以说,浏览器帮助我们修改错误了。

4.CSS特性

4.1继承性

在调试工具中选中span这行:

也就是说span从它 的父亲div那里继承了所有的style

接下来,看看不能继承的:

注意,这里是修改的div标签的高度,不是文字高度。

选中div这个标签,可以看到,其高度是这样。  接着再看span此时的高度

很明显的高度不同。

总结:控制文字的属性都能继承,不是控制文字的都不能继承。

拓展:继承失效的特殊情况

超链接自己有颜色,就不会继承它爹的颜色, h1有自己固定的字号大小,就不会继承它爹的字号。

总结:继承的原则是:我没有,那就继承爹的,我有,就听自己的。

4.2层叠性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值