前端——CSS基础篇3

一,css属性

1.简写属性

属性名background
属性值color image repeat position
默认值每个属性的默认值
描述设置背景图片是否随内容滚动

 

<style>
        .con {
            width: 1000px;
            height: 1500px;
            /* background-color: red;
            background-image: url(img/zhaoxiaotong.jpg);
            background-position: center;
            background-repeat: no-repeat; */
            /* 背景的简写  颜色 图片链接 图片重复 图片位置*/
            background: red url(img/zhaoxiaotong.jpg) no-repeat center;
        }
    </style>
</head>

<body>
    <div class="con"></div>
</body>

 2.背景透明

CSS3支持背景半透明的写法语法格式是:

background: rgba(0,0,0,0.3);

最后一个参数是alpha 透明度 取值范围 0~1之间

注意: 背景半透明是指盒子背景半透明, 盒子里面的内容不收影响。

3.背景缩放

通过background-size设置背景图片的尺寸,就像我们设置img的尺寸一样,在移动Web开发中做屏幕适配应用非常广泛。

其参数设置如下:

a) 可以设置长度单位(px)(img大小一样)或百分比(设置百分比时,参照盒子的宽高)

b) 设置为cover时,会自动调整缩放比例,保证图片始终填充满背景区域,如有溢出部分则会被隐藏。我们平时用的cover 最多

c) 设置为contain会自动调整缩放比例,保证图片始终完整显示在背景区域。

注意:background-size属性一定要写在background属性后面。

<style>
        .con {
            width: 200px;
            height: 300px;
            background: red url(img/zhaoxiaotong.jpg) no-repeat center;
            /* 背景尺寸的属性 */
            /* 1.使用像素 */
            /* background-size: 200px 300px; */
            /* contain包含整张图片 */
            /* 2.使用contain,自动调整缩放比例,保证图片始终完整显示在背景区域,有可能会有留白 */
            /* background-size: contain; */
            border: 1px red solid;
            /* 3.设置为cover时,会自动调整缩放比例,保证图片始终充满背景区域,如有溢出部分则会被隐藏,平时用cover比较多 */
            background-size: cover;
        }
    </style>
</head>

<body>
    <div class="con"></div>
</body>

二,背景总结

属性作用
background-color背景颜色预定义的颜色值/十六进制/RGB代码
background-image背景图片url(图片路径)
background-repeat是否平铺repeat/no-repeat/repeat-x/repeat-y
background-position背景位置length/position 分别是x 和 y坐标, 切记 如果有 精确数值单位,则必须按照先X 后Y 的写法
背景简写更简单背景颜色 背景图片地址 背景平铺 背景滚动 背景位置; 他们没有顺序
背景透明让盒子半透明background: rgba(0,0,0,0.3); 后面必须是 4个值
背景缩放背景图片的尺寸长度单位、cover、contain

 三,list-style属性

list-style 简写属性在一个声明中设置所有的列表属性。

可以按顺序设置如下属性:

  • list-style-type

  • list-style-position

  • list-style-image

1. list-style-type

描述
none无标记。
disc默认。标记是实心圆。
circle标记是空心圆。
square标记是实心方块

2.list-style-position

描述
inside列表项目标记放置在文本以内,且环绕文本根据标记对齐。
outside默认值。保持标记位于文本的左侧,列表项目标记放置在文本以外,且环绕文本不根据标记对齐。

3.list-style-image

描述
URL图像的路径。
none默认。无图形被显示。
<style>
        /* ul的小圆点 */
        
        .nav {
            /* 1.去掉小圆点 *****重点 */
            list-style-type: none;
            /* 2. disc实心圆,默认 */
            /* 3.空心圆 circle*/
            list-style-type: circle;
            /* 4.实心方块 disc*/
            list-style-type: disc;
            /* outside默认值 */
            list-style-position: inside;
            /*none默认值,无图形被显示  */
            list-style-image: url(img/ber.jpg);
        }
    </style>
</head>

<body>
    <ul class="nav">
        <li><a href="">首页</a></li>
        <li><a href="">新闻</a></li>
        <li><a href="">赛事</a></li>
    </ul>

</body>

四,CSS三大特性

层叠,继承,优先级是我们学习CSS 必须掌握的三个特性。

1.CSS层叠性

  • 所谓层叠性是指多种CSS样式的叠加,就是css处理冲突的能力。

一般情况下,如果出现样式冲突,则会按照CSS书写的顺序,以最后的样式为准。

当同一个元素被两个选择器选中时,CSS会根据选择器的权重决定使用哪一个选择器。权重低的选择器效果会被权重高的选择器效果覆盖(层叠)。

可以这样理解权重:这个选择器对于这个元素的重要性。

<style>
        /* 最终以blue为最终色,css层叠性 */
        /* 多个选择器同一样式时,css会根据权重来优先选择 */
        
        .con {
            color: red;
        }
        
        .main {
            color: blue;
        }
        /* id选择器权限高 */
        
        #hot {
            color: yellow;
        }
    </style>
</head>

<body>
    <div class="con main " id="hot">十个勤天只能是十个勤天</div>
</body>

2.CSS的继承性

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

注意:

1.所以对于字体、文本属性等网页中通用的样式可以使用继承。例如,字体、字号、颜色、行距等可以在body元素中统一设置,然后通过继承影响文档中所有文本。

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

 <style>
        /* 继承:字体大小,颜色可以继承除a以外,a标签的颜色不继承 line-height */
        /* 下面的属性就不具有继承性:边框,外边距,内边距,背景,定位, */
        
        .father {
            font-size: 50px;
            color: red;
            line-height: 100px;
        }
    </style>
</head>

<body>
    <div class="father">
        <div class="son1">div元素</div>
        <a href="" class="son2">链接元素</a>
    </div>
    <p>
        div元素和链接元素
    </p>
</body>

3.CSS的优先级

定义CSS样式时,经常出现两个或更多规则应用在同一元素上,这时就会出现优先级的问题,即考虑权重的问题。

!important>行内样式表>ID选择器>类选择器>标签选择器>通配符>继承的样式>浏览器默认样式

在考虑权重时,初学者还需要注意一些特殊的情况,具体如下:

  • 继承样式的权重为0。即在嵌套结构中,不管父元素样式的权重多大,被子元素继承时,他的权重都为0,也就是说子元素定义的样式会覆盖继承来的样式。

  • 行内样式优先。应用style属性的元素,其行内样式的权重非常高,可以理解为远大于100。总之,他拥有比上面提高的选择器都大的优先级。

  • 权重相同时,CSS遵循就近原则。也就是说靠近元素的样式具有最大的优先级,或者说排在最后的样式优先级最大。

  • CSS定义了一个!important命令,该命令被赋予最大的优先级。也就是说不管权重如何以及样式位置的远近,!important都具有最大优先级。

  • 继承或者* 的贡献值0,0,0,0
    每个元素(标签)贡献值为0,0,0,1
    每个类,伪类贡献值为0,0,1,0
    每个ID贡献值为0,1,0,0
    每个行内样式贡献值1,0,0,0
    每个!important贡献值∞ 无穷大

 权重是可以叠加的

比如的例子:

选择器权重
div ul li0,0,0,3
.nav ul li0,0,1,2
a:hover0,0,1,1
.nav a0,0,1,1
#nav p0,1,0,1

 

注意:

1.数位之间没有进制 比如说: 0,0,0,5 + 0,0,0,5 =0,0,0,10 而不是 0,0, 1, 0, 所以不会存在10个div能赶上一个类选择器的情况。

2.继承的权重是 0

 <style>
        /* 浏览器默认样式 <继承样式<通配符选择器<标签选择器<类选择器<id选择器<行内样式<!important*/
        
        #main {
            color: purple;
        }
        
        div {
            color: red;
        }
        
        * {
            color: yellow;
        }
        
        .father {
            color: blue;
        }
    </style>

</head>

<body>
    <!-- id选择器 -->
    <div class="father">
        <div class="con" id="main" style="color: aqua;">你是否在深夜辗转难眠-你在思考?你的灵魂伴侣?还是你接下来的路?</div>
    </div>
</body>
<style>
        /* 标签 0,0,0,1 */
        /* div ul li  0,0,0,3 叠加*/
        /* (伪)类  0,0,1,0 */
        /* .main     0,0,1,0 */
        /* id */
        /* .main ul li span 0,0,1,3*/
        /* #con   0,1,0,0 */
        /* 行内 块   1,0,0,0 */
        
        ul li a span {
            color: red;
        }
        /* 上面优先,权重大,多了span */
        
        ul li a {
            color: blue;
        }
        /* 0,0,1,3 */
        
        .nav li a span {
            color: red;
        }
        /* 当鼠标悬停时字体颜色为蓝色 */
        /* 0,0,1,2 */
        
        ul span:hover {
            color: blue;
        }
    </style>
</head>

<body>
    <div class="main">
        <ul>
            <li><span>你好</span></li>
        </ul>
    </div>

    <ul class="nav">
        <li>
            <a href="">
                <span>业务展示</span>
            </a>
        </li>
    </ul>
</body>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值