zoukankan      html  css  js  c++  java
  • python 之 前端开发(CSS三大特性、字体属性、文本属性、背景属性)

    11.38 css三大特性

    11.381 继承性
    1、定义:给某一个元素设置一些属性,该元素的后代也可以使用,这个我们就称之为继承性

    2、注意:
       1、只有以color、font-、text-、line-开头的属性才可以继承
       2、a标签的文字颜色和下划线是不能继承别人的
       3、h标签的文字大小是不能继承别人的,会改变,但是会在原来字体大小的基础上改变
       ps:打开浏览器审查元素可以看到一些inherited from...的属性
    3、应用场景:
       通常基于继承性统一设置网页的文字颜色,字体,文字大小等样式
    11.382 层叠性
    定义:CSS全称:Cascading StyleSheet层叠样式表,层叠性指的就是CSS处理冲突的一种能力,即如果有多个选择器选中了同一个标签那么会有覆盖效果

    注意:
    1、层叠性只有在多个选择器选中了同一个标签,然后设置了相同的属性,才会发生层叠性
    11.383 优先级
    1、定义:当多个选择器选中同一个标签,并且给同一个标签设置相同的属性时,如何层叠就由优先级来确定
    2、优先级
       整体优先级从高到底:行内样式>嵌入样式>外部样式
    1、大前提:直接选中 > 间接选中(即继承而来的)
    2、如果都是间接选中,那么离目标标签比较近的优先级高,就近原则
    3、如果都是直接选中,并且都是同类型的选择器,那么写在后面的优先级高
    4、如果都是直接选中,并且是不同类型的选择器,那么就会按照选择器的优先级来层叠
       #内联>id > 类 > 标签 > 通配符(也算直接选中) > 继承 > 浏览器默认(即没有设置任何属性)
    5、优先级之!important
    !important方式来强制指定的属性的优先级提升为最高,但是不推荐使用。因为大量使用!important的代码是无法维护的。
     注意:
       1!important只能用于直接选中,不能用于间接选中
       2!important只能用于提升被指定的属性的优先级,其他属性的优先级不会被提升
       3!important必须写在属性值分号的前面

    11.39 字体属性

    1、font-weight:文字粗细(字重)

    normal  默认值,标准粗细
    bord    粗体
    border  更粗
    lighter 更细
    100~900 设置具体粗细,400等同于normal,而700等同于bold
    inherit 继承父元素字体的粗细值

    2、font-style:文字风格

    normal 正常,默认就是正常
     italic 倾斜 

    3、font-size:文字大小

    一般是12px或13px或14px
    注意:
    1、通过font-size设置文字大小一定要带单位,即一定要写px
    2、如果设置成inherit表示继承父元素的字体大小值。

    4、font-family:文字字体

    font-family: "Microsoft Yahei", "微软雅黑", "Arial", sans-serif #按照顺序依次选取用户可用的字体
    常见字体:
    serif 衬线字体
    sans-serif 非衬线字体
    中文:宋体,微软雅黑,黑体

    注意: 1、设置的字体必须是用户电脑里已经安装的字体,浏览器会使用它可识别的第一个值 2、如果取值为中文,需要用单或双引号扩起来

    5、文字属性简写

    font-weight: bolder;
    font-style: italic;
    font-size: 50px;
    font-family: 'serif','微软雅黑';
    简写为:
    font: bolder italic 50px 'serif','微软雅黑'; 

    6、color:文字颜色

     格式描述
    rgb color:rgb(255,0,0); 红色:rgb(255,0,0) 绿色:rgb(0,255,0) 蓝色:rgb(0,0,255) 黑色:rgb(0,0,0) # 所有都不亮 白色:rgb(255,255,255) # 所有都最亮 灰色:只要让红色/绿色/蓝色的值都一样就是灰色而且三个值越小越偏黑色越大越偏白色
    rgba color:rgba(255,0,0,0.1); rgba到css3中才推出,比起rgb多了一个a,a代表透明度 a取值0-1,取值越小,越透明
    十六进制 color: #FF0000; #FF0000 其中FF代表R,00代表G,00代表B

    11.310 文本属性

    1、text-align:规定元素中的文本的水平对齐方式

    left左边对齐 默认值
    right 右对齐
    center 居中对齐
    justify 两端对齐

    2、text-decoration:文本装饰

    none默认,定义标准的文本,通常用来去掉a标签的下划线
    underline 定义文本下的一条线。
    overline 定义文本上的一条线。
    line-through 定义穿过文本下的一条线。
    inherit 继承父元素的text-decoration属性的值。

    3、text-indent:首行缩进

    #将段落的第一行缩进 32像素,16px;=1em;
    p {text-indent: 32px;}
    p {text-indent: 2em;}

    4、line-height:行高

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>后代选择器</title>
        <style type="text/css">
            p {
                width: 500px;
                height: 200px;
                text-align: center;
                line-height: 200px;
            }
        </style>
    </head>
    <body>
    <div>
        <p>hello英雄不问出处,流氓不论岁数</p>
    </div>
    </body>
    </html>

    11.311 背景属性

    注意:没有宽高的标签,即便设置背景也无法显示,即要求标签是块级标签或行内块级标签

    background-color设置标签的背景颜色的 rgb(0,255,0); rgba(0,255,0,0.1); #00ffff;
    background-image 设置标签的背景图片 background-image: url("images/2.jpg");注意:如果图片的大小小于标签的大小,那么会自动在水平和垂直方向平铺和填充
    background-size 设置标签的背景图片的宽、高 background-size: 300px 300px; background-size: 100% 100%;
    inherit 设置从父元素继承background属性值 以上背景属性的值均可以设置为inherit,代表从父元素继承background属性
         

    background-repeat:设置标签的背景图片的平铺方式

    background-repeat: repeat; #默认值,在垂直和水平方向都重复
    background-repeat: no-repeat; #不重复,背景图片将仅显示一次
    background-repeat: repeat-x; #背景图片将在水平方向平铺
    background-repeat: repeat-y; #背景图片将在垂直方向平铺
    应用:可以在服务端将一个大图片截成小图片,然后在客户端基于平铺属性将小图重复这样用户就以为是一张大图,如此,既节省了流量提升了速度,又不影响用户访问例如很多网站的导航条都是用这种手法制作的

    background-attachment:设置标签的背景图片在标签中固定或随着页面滚动而滚动

    background-attachment: scroll; #默认值,背景图片会随着滚动条的滚动而滚动
    background-attachment: fixed; #不会随着滚动条的滚动而滚动`

    background-position

    前端的坐标系:图片默认都是在盒子的左上角,background-position属性,就是专门用于控制背景图片的位置
    background-position:水平方向的值,垂直方向的值
    1、具体的方位名词 水平方向:left,center,right 垂直方向:top,center,bottom  
    #如果只设置了一个关键词,那么第二个值就是"center"
    2、百分比   第一个值是水平位置,第二个值是垂直位置。  左上角是 0% 0%。右下角是 100% 100%。  
    #如果只设置了一个值,另一个值就是50%。
    3、具体的像素 第一个值是水平位置,第二个值是垂直位置。  左上角是 0 0  单位是像素 (0px 0px) 或任何其他的 CSS 单位。  
    #如果只设置了一个值,另一个值就是50%。可以混合使用%和position值。

    1、背景属性缩写

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>后代选择器</title>
        <style type="text/css">
            div {
                width: 500px;
                height: 500px;
                /*background-color: red;*/
                /*background-image: url("https://images.jpg");*/
                /*background-repeat: no-repeat;*/
                /*background-position: right bottom;*/
                /*background-size: 100px 100px;*/
                background: red url("https://images.jpg") no-repeat right bottom/100px 100px;
            }                                                               #背景属性缩写
        </style>
    </head>
    <body>
    <div></div>
    </body>
    </html>

    2、背景图片和插入图片的区别

    1、背景图片仅仅只是一个装饰,不会占用位置,插入图片会占用位置 2、背景图片有定位属性,可以很方便地控制图片的位置,而插入图片则不可以 3、插入图片语义比背景图片的语义要强,所以在企业开发中如果你的图片想被搜索引擎收录,那么推荐使用插入图片

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>后代选择器</title>
        <style type="text/css">
            .box1 {
                width: 200px;
                height: 200px;
                background-color: red;
                background-image: url("https://images.jpg");
                background-repeat: no-repeat;
                background-position: right bottom;
            }
            .box2{
                width: 300px;
                height: 300px;
                background-color: green;
            }
        </style>
    </head>
    <body>
    <div class="box1">
        1111111111111
    </div>
    <div class="box2">
        22222222222222
        <img src="https://images.jpg" alt="">
    </div>
    </body>
    </html>
    11.3111 rgba与opacity

    rgba只能给背景设置透明度,不能给标签、标签的子标签设置透明度,opacity可以给整个标签设置透明度,包括标签的子标签以及标签里的内容

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            .c1 {
                width: 200px;
                height: 200px;
                background-color: rgba(0,0,0,0.65);#只能给背景设置透明度
                
                #
                #opacity: 0.65;                   改变整个标签的透明度
            }
        </style>
    </head>
    <body>
    <div class="c1">我是我啊啊啊啊</div>
    </body>
    </html>

    如果想给背景图片设置透明度,则必须使用opacity,因为背景图片不能与背景颜色同时使用,如果同时使用,则背景颜色一直被背景图片覆盖,背景颜色不显示

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            .c1 {
                height: 800px;
                background-image: url("https://images.jpg");
                background-size:300px auto;
                opacity: 0.55;              #改变整个标签的透明度
            }
        </style>
    </head>
    <body>
    <div class="c1"></div>
    </body>
    </html>
  • 相关阅读:
    java基础3 循环语句:While 循环语句、do while 循环语句、 for 循环语句 和 break、continue关键字
    java基础2 判断语句:if ... else 语句和 switch 语句
    IT行业经典面试技巧及方法思路。
    Java基础1,入门基础知识
    SVN的使用、分支合并及解决冲突详解
    VC工程产生文件后缀名解释
    ireport报表,打印时,报表加载失败的解决方法
    MySQL 事务、视图、索引
    MySQL高级查询
    MySQL中的主键约束和外键约束
  • 原文地址:https://www.cnblogs.com/mylu/p/11355010.html
Copyright © 2011-2022 走看看