美文网首页
CSS字体、外观属性、背景

CSS字体、外观属性、背景

作者: Arvin_zhea | 来源:发表于2019-07-11 08:10 被阅读0次
    CSS字体样式属性
    1. font-size:字号大小
    2. font-family:字体
    3. font-weight:字体粗细 (加粗)
    4. font-style:字体风格 (斜体)
    5. font:综合设置字体样式 (有顺序)
    
    CSS外观属性
    1. color:文本颜色
    2. line-height:行间距
    3. text-align:水平对齐方式
    4. text-indent:首行缩进
    5. letter-spacing:字间距
    6. word-spacing:单词间距
    7. 颜色半透明(css3)
    8. 文字阴影(CSS3)
    

    CSS字体样式属性

    font-size:字号大小

    font-size属性用于设置字号,该属性的值可以使用相对长度单位,也可以使用绝对长度单位。其中,相对长度单位比较常用,推荐使用像素单位px,绝对长度单位使用较少。具体如下:

    度量单位

    font-family:字体

    font-family 属性用于设置字体。网页中常用的字体有宋体微软雅黑黑体等,例如将网页中所有段落文本的字体设置为微软雅黑,可以使用如下CSS样式代码:

    p { font-family:"微软雅黑";}
    
    h4 { font-family:"Microsoft YaHei", tahome, arial, "Hiragino Sans GB";}
    

    可以同时指定多个字体,中间以逗号隔开,表示如果浏览器不支持第一个字体,则会尝试下一个,直到找到合适的字体。

    常用技巧:

    1. 现在网页中普遍使用 14px+
    2. 尽量使用偶数的数字字号。ie6等老式浏览器支持奇数会有bug。
    3. 各种字体之间必须使用英文状态下的逗号隔开。
    4. 中文字体需要加英文状态下的引号,英文字体一般不需要加引号。当需要设置英文字体时,英文字体名必须位于中文字体名之前
    5. 如果字体名中包含空格、#、$等符号,则该字体必须加英文状态下的单引号或双引号,例如font-family: "Times New Roman";
    6. 尽量使用系统默认字体,保证在任何用户的浏览器中都能正确显示。

    CSS Unicode字体

    在 CSS 中设置字体名称,直接写中文是可以的。但是在文件编码(GB2312、UTF-8 等)不匹配时会产生乱码的错误。xp 系统不支持 类似微软雅黑的中文。

    方案一: 你可以使用英文来替代。 比如 font-family:"Microsoft Yahei"。

    方案二: 在 CSS 直接使用 Unicode 编码来写字体名称可以避免这些错误。使用 Unicode 写中文字体名称,浏览器是可以正确的解析的。
    font-family: "\5FAE\8F6F\96C5\9ED1",表示设置字体为“微软雅黑”。

    搜狐对字体定义的解决方案

    可以通过escape()来测试属于什么字体。

    字体名称 英文名称 Unicode 编码
    宋体 SimSun \5B8B\4F53
    新宋体 NSimSun \65B0\5B8B\4F53
    黑体 SimHei \9ED1\4F53
    微软雅黑 Microsoft YaHei \5FAE\8F6F\96C5\9ED1
    楷体_GB2312 KaiTi_GB2312 \6977\4F53_GB2312
    隶书 LiSu \96B6\4E66
    幼园 YouYuan \5E7C\5706
    华文细黑 STXihei \534E\6587\7EC6\9ED1
    细明体 MingLiU \7EC6\660E\4F53
    新细明体 PMingLiU \65B0\7EC6\660E\4F53

    为了照顾不同电脑的字体安装问题,我们尽量只使用宋体微软雅黑中文字体

    font-weight:字体粗细

    字体加粗除了用 bstrong 标签之外,可以使用CSS 来实现,但是CSS 是没有语义的。

    font-weight 属性用于定义字体的粗细,其可用属性值:normal、bold、bolder、lighter、100~900(100的整数倍)。

    小技巧:
    数字 400 等价于 normal,而 700 等价于 bold。 但是我们更喜欢用数字来表示。

    font-style:字体风格

    字体倾斜除了用 iem 标签之外,可以使用CSS 来实现,但是CSS 是没有语义的。

    font-style属性用于定义字体风格,如设置斜体、倾斜或正常字体,其可用属性值如下:

    normal:默认值,浏览器会显示标准的字体样式。
    italic:浏览器会显示斜体的字体样式。
    oblique:浏览器会显示倾斜的字体样式。

    小技巧:
    平时我们很少给文字加斜体,反而喜欢给斜体标签(em,i)改为普通模式

    font:综合设置字体样式 (重点)

    font属性用于对字体样式进行综合设置,其基本语法格式如下:
    选择器{font: font-style font-weight font-size/line-height font-family;}

    使用font属性时,必须按上面语法格式中的顺序书写,不能更换顺序,各个属性以空格隔开。

    注意:其中不需要设置的属性可以省略(取默认值),但必须保留font-sizefont-family属性,否则font属性将不起作用。


    CSS外观属性

    color:文本颜色

    color属性用于定义文本的颜色,其取值方式有如下3种:

    1. 预定义的颜色值,如red,green,blue等。
    2. 十六进制,如#FF0000,#FF6600,#29D794等。实际工作中,十六进制是最常用的定义颜色的方式。
    3. RGB代码,如红色可以表示为rgb(255,0,0)或rgb(100%,0%,0%)。
      需要注意的是: 如果使用RGB代码的百分比颜色值,取值为0时也不能省略百分号,必须写为0%

    line-height:行间距

    line-height属性用于设置行间距,就是行与行之间的距离,即字符的垂直间距,一般称为行高。line-height常用的属性值单位有三种,分别为像素px,相对值em和百分比%,实际工作中使用最多的是像素px。

    一般情况下,行距比字号大7、8像素左右就可以了。

    text-align:水平对齐方式

    text-align属性用于设置文本内容的水平对齐,相当于html中的align对齐属性。其可用属性值如下:
    left:左对齐(默认值)
    right:右对齐
    center:居中对齐

    text-indent:首行缩进

    text-indent 属性用于设置首行文本的缩进,其属性值可为不同单位的数值、em 字符宽度的倍数、或相对于浏览器窗口宽度的百分比%,允许使用负值, 建议使用em作为设置单位

    1em 就是一个字的宽度 如果是汉字的段落,1em 就是一个汉字的宽度,固定写法:{ text-indent: 2em }

    letter-spacing:字间距

    letter-spacing 属性用于定义字间距,所谓字间距就是字符与字符之间的空白。其属性值可为不同单位的数值,允许使用负值,默认为normal。

    word-spacing:单词间距

    word-spacing 属性用于定义英文单词之间的间距,对中文字符无效。和letter-spacing一样,其属性值可为不同单位的数值,允许使用负值,默认为normal。

    letter-spacing定义的为字母之间的间距
    word-spacing定义的为英文单词之间的间距,中文无效。

    text-decoration:文本的装饰

    通常我们用于给链接修改装饰效果

    描述
    none 默认。定义标准的文本。
    underline 定义文本下的一条线。下划线 也是我们链接自带的
    overline 定义文本上的一条线。
    line-through 定义穿过文本下的一条线。

    使用技巧:在一行内的盒子内,我们设定行高等于盒子的高度,就可以使文字垂直居中。

    颜色半透明(css3)

    文字颜色到了CSS3我们可以采取半透明的格式了语法格式如下:

    color: rgba(r,g,b,a) a 取值范围 0~1之间
    eg:color: rgba(0,0,0,0.3)

    文字阴影(CSS3)

    以后我们可以给我们的文字添加阴影效果了 Shadow 影子

    text-shadow: 水平 / 垂直 / 模糊距离(模糊宽度) / 阴影颜色;

    文字阴影参数

    CSS 背景(background)

    CSS 可以添加背景颜色和背景图片,以及来进行图片设置。

    background-color 背景颜色
    background-image 背景图片地址
    background-repeat 是否平铺
    background-position 背景位置
    background-attachment 背景固定还是滚动
    背景的合写(复合属性)
    background: 颜色 / 图片地址 / 平铺 / 滚动 / 位置

    背景图片(image)

    语法:background-image : none | url (url)

    none :  无背景图(默认的)
    url :  使用绝对或相对地址指定背景图像

    background-image 属性允许指定一个图片展示在背景中(只有CSS3才可以多背景)可以和 background-color 连用。 如果图片不重复地话,图片覆盖不到地地方都会被背景色填充。 如果有背景图片平铺,则会覆盖背景颜色。

    提倡: 背景图片后面的地址url不要加引号:
    background-image: url(images/li.jpg)

    背景平铺(repeat)

    语法: background-repeat : repeat | no-repeat | repeat-x | repeat-y

    repeat :  背景图像在纵向和横向上平铺(默认的)
    no-repeat :  背景图像不平铺
    repeat-x :  背景图像在横向上平铺
    repeat-y :  背景图像在纵向平
    设置背景图片时,默认把图片在水平和垂直方向平铺以铺满整个元素
    repeat-x :  背景图像在横向上平铺
    repeat-y :  背景图像在纵向平铺

    背景位置(position)

    语法:
    background-position : length || length
    background-position : position || position
    混搭:
    background-position : length || position
    background-position : position || length

    length :  百分数 | 由浮点数字和单位标识符组的长度值。
    position :  top | center | bottom | left | center | right

    说明:
    设置或检索对象的背景图像位置。必须先指定background-image属性。默认值为:(0% 0%)。如果只指定了一个值,该值将用于横坐标。纵坐标将默认为50%

    1. position 后面是x坐标y坐标。 可以使用方位名词或者精确单位。
    2. 如果和精确单位和方位名字混合使用,则必须是x坐标在前,y坐标后面。比如 background-position: 15px top; 则 15px一定是x坐标 top是y坐标。
    3. 只有都是方位的时候可以部分x/y的先后(尽量统一都是先x后y
    background-color: pink;
    background-image: url(images/l.jpg);
    background-repeat: no-repeat;
    /* 1.利用方位名词 top bottom 来更改背景图片位置 */
    /*background-position: left top;   默认的是 左上角 */
    /*background-position: bottom right ;   方位名词没有顺序,谁在前都可以 */
    /* background-position: center center ;  */ 
    /* background-position: left;   如果方位名词只写一个,另外一个默认为center */
    /*  background-position: 10px 30px; 
     2. 精切单位 第一值一定是x坐标 第二个值一定是y坐标 */
     /* 3. 混搭 */
    background-position: center 10px ;
    /* center 10px  水平居中的 垂直是 10px 
    10px center   水平10px  垂直是 居中 */
    

    实际工作用的最多的,就是背景图片居中对齐了。

    背景附着

    语法:background-attachment : scroll | fixed

    scroll :  背景图像是随对象内容滚动
    fixed :  背景图像固定

    说明: 设置或检索背景图像是随对象内容滚动还是固定的。

    背景简写

    background 属性的值的书写顺序官方并没有强制标准的。为了可读性,建议如下写:background:背景颜色 背景图片地址 背景平铺 背景滚动 背景位置

    background: transparent url(image.jpg) repeat-y  scroll 50% 0 ;
    

    背景透明(CSS3)

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

    background: rgba(0,0,0,0.3);   /* a: 取值范围 0~1之间 */
    

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

    背景缩放(CSS3)

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

    其参数设置如下:

    1. 可以设置长度单位(px)或百分比(设置百分比时,参照盒子的宽高)
    2. 设置为cover时,会自动等比调整缩放比例,保证图片始终填充满背景区域,如有溢出部分则会被隐藏。我们平时用的cover最多
    3. 设置为contain会自动等比调整缩放比例,保证图片始终完整显示在背景区域。

    cover保证背景全部被占,图片会超出隐藏,contain保证图片完整,背景可能有空白。

    div {
        width: 400px;
        height: 500px;
        background: hotpink url(images/l.jpg) no-repeat;
        /* 我们插入的图片 img  直接通过 width  和height 设置就可 */
        /* 背景图片设置大小 background-size  */
        /*background-size: 100px;   我们尽量只改一个值,防止缩放失真扭曲 */
        /*background-size: 50%;   把背景图片缩放为原来的一半大小 */
    
        /* background-size: cover; */ 
        /* 会自动等比调整缩放比例,保证图片始终填充满背景区域,如有溢出部分则会被隐藏
          图片进行等比例缩放 图片一定要保证宽度和高度同时满足盒子的大小 势必会有部分超出去,就看不见了  我们平时用的cover 最多
         */
         background-size: contain;
         /* 会自动等比调整缩放比例,保证图片始终完整显示在背景区域。
        图片进行等比例缩放 如果图片的高度或者 宽度 有一个和盒子一样大了,就不在缩放
        这样的好处就是保证了图片的完整。 不会有缺失的一部分, 但是会有部分裸露
          */
    }
    
    background-image: url('images/gyt.jpg');
                background-size: 300px 100px;
                /* background-size: contain; */
                /* background-size: cover; */
    

    多背景(CSS3)

    以逗号分隔可以设置多背景,可用于自适应布局 做法就是 用逗号隔开就好了。

    • 一个元素可以设置多重背景图像。
    • 每组属性间使用,分隔。
    • 如果设置的多重背景图之间存在着交集(即存在着重叠关系),前面的背景图会覆盖在后面的背景图之上。
    • 为了避免背景色将图像盖住,背景色通常都定义在最后一组上
    background:url(test1.jpg) no-repeat scroll 10px 20px/50px 60px  ,
           url(test1.jpg) no-repeat scroll 10px 20px/70px 90px ,
           url(test1.jpg) no-repeat scroll 10px 20px/110px 130px c #aaa;
    

    凹凸文字

    <head>
            <meta charset="utf-8">
            <style>
            body {
                background-color: #ccc;
            }
            div {
                color: #ccc;
                font: 700 80px "微软雅黑";
            }
            div:first-child {
                /* text-shadow: 水平位置  垂直位置  模糊距离 阴影颜色; */
                text-shadow: 1px 1px 1px #000, -1px -1px 1px #fff;
            }
            div:last-child {
                /* text-shadow: 水平位置  垂直位置  模糊距离 阴影颜色; */
                text-shadow: -1px -1px 1px #000, 1px 1px 1px #fff;
            }
            </style>
        </head>
        <body>
        <div>我是凸起的文字</div>
        <div>我是凹下的文字</div>
        </body>
    

    背景渐变

    在线性渐变过程中,颜色沿着一条直线过渡:从左侧到右侧、从右侧到左侧、从顶部到底部、从底部到顶部或着沿任何任意轴。
    兼容性问题很严重,这里只谈线性渐变
    语法格式:

    background:-webkit-linear-gradient; (渐变的起始位置, 起始颜色, 结束颜色);
    background:-webkit-linear-gradient; (渐变的起始位置, 颜色 位置, 颜色位置....);
    
    <div></div>
    <section></section>
    
    div {
        width: 300px;
        height: 50px;
        /* background: linear-gradient(渐变的起始位置, 起始颜色, 结束颜色); */
        background: linear-gradient(top, red, green);
        background: -webkit-linear-gradient(top, red, green);
        background: -moz-linear-gradient(top, red, green);
        /* 因为背景渐变 兼容性问题很严重, 必须在前面添加浏览器的私有前缀 */
        margin: 200px auto;
    }
    section {
        width: 400px;
        height: 100px;
        margin: 0 auto;
         /* background:-webkit-linear-gradient(渐变的起始位置, 颜色 位置, 颜色位置....); */
        background: -webkit-linear-gradient(top, red 0%, green 20%, blue 80%);
        background: -moz-linear-gradient(left, red 0%, green 50%, skyblue 80%,  hotpink 100%)
    }
    

    相关文章

      网友评论

          本文标题:CSS字体、外观属性、背景

          本文链接:https://www.haomeiwen.com/subject/ysvkkctx.html