zoukankan      html  css  js  c++  java
  • html5常用属性text-shadow、vertical-align、background如何使用

    html5常用属性text-shadow、vertical-align、background如何使用

    一、总结

    一句话总结:

    1、text-shadow:[x轴(X Offset) y轴(Y Offset) 模糊半径(Blur) 颜色(Color)]

    2、vertical-align注意语义, 注意父元素的基线

    3、background: #ff0000 url(/i/eg_bg_03.gif) no-repeat fixed center;

    4、background:  transparent  url(h2.png)  repeat scroll 0% 0% !important;

    其它:

    div加背景色了调,不然你真的不知道div的情况

    把元素变大,也容易找错

    关注你加了样式之后,是元素根本没有效果,还是效果很微小,还是效果不是你想要的效果

    仔细读样式的说明:比如 top 把元素的顶端与行中最高元素的顶端对齐

    弄清楚各个定义:比如父元素基线,比如元素的顶端,还还要关注你是操作的哪个元素

    vertical-align是操作自己,然后达到在父元素中的位置,操作的是自己。

    父元素的高度:在没有设置高度的情况下:是有最高元素的顶端+最低元素的底端构成的。

    当父元素设置了高度的时候:元素还是依次占据父元素的顶端,父元素的基线不会变,除非有元素变大,撑开父元素的基线。

    字体摆放时:是字体的下端对着父元素的基线,因为字体下端还会有一点,所以这样会撑开父元素。

    vertical-align:middle的作用:让元素的middle去对着父元素的基线。

    给一个元素加margin-top和增加元素的高度都可以改变父亲元素的高度。

    也就是说:vertical-align:middle;根本就不是用来做下面的效果的,下面的效果可以通过自己顶端与最高元素的顶端对齐,然后margin-top下移来实现。margin-top:65px;vertical-align:top

    至于为什么表格中可以用这个来实现垂直居中呢:因为在表格的单元格中,基线就在中部啊,所以设置vertical-align:middle后,让元素的中部与表格的基线对齐,那肯定实现了字体在表格中的垂直居中,而且注意这里是字体。我们现在设置的是元素。

    所以vertical-align:middle就是紧抓定义,抓这句话的定义,然后关注父亲元素的基线。

    二、text-shadow讲解

    语法:

    text-shadow : none | <length> none | [<shadow>, ] * <shadow> 或none | <color> [, <color> ]*
    也就是:
    text-shadow:[颜色(Color)  x轴(X Offset) y轴(Y Offset) 模糊半径(Blur)],[颜色(color) x轴(X Offset) y轴(Y Offset) 模糊半径(Blur)]...
    或者
    text-shadow:[x轴(X Offset) y轴(Y Offset)  模糊半径(Blur)  颜色(Color)],[x轴(X Offset) y轴(Y Offset)  模糊半径(Blur)  颜色(Color)]...
    

    取值:

    <length>:长度值,可以是负值。用来指定阴影的延伸距离。其中X Offset是水平偏移值,Y Offset是垂直偏移值

    <color>:指定阴影颜色,也可以是rgba透明色

    <shadow>:阴影的模糊值,不可以是负值,用来指定模糊效果的作用距离。

    如下图所示:

    说明:

    可以给一个对象应用一组或多组阴影效果,方式如前面的语法显示一样,用逗号隔开。text-shadow: X-Offset Y-Offset Blur Color中X-Offset表示阴影的水平偏移距离,其值为正值时阴影向右偏移,如果其值为负值时,阴影向左偏移;Y-Offset是指阴影的垂直偏移距离,如果其值是正值时,阴影向下偏移反之其值是负值时阴影向顶部偏移;Blur是指阴影的模糊程度,其值不能是负值,如果值越大,阴影越模糊,反之阴影越清晰,如果不需要阴影模糊可以将Blur值设置为0;Color是指阴影的颜色,其可以使用rgba色。

    三、文字居中:CSS属性:vertical-align:middle,设置为什么无效!

    最近,在学习CSS中,每次对一个页面进行排版的时候,总是需要对文字居中,每次在div里面设置text-align和vertical-algin两个属性就会以为他会居中!

    废话不多说了!直接上代码!

    图一:

    图二:

    图三:

    这是外面一个div里面在分几个div,我在其中一个中输入文字,但是写了text-align即文字居中和vertical-align垂直居中,以为就会让文字居于正中间,但是却显示如图二的效果!这是为什么呢!所以查找了许多资料,原来vertical-align属性只对行内元素有效对块内元素无效!而此时就会用到display属性,大家也看到我里面有设置display属性为inline-block属性,确没有效果,那是因为将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内!说的通俗点,就是你设置的当前div属性还是块对象呈递,但是允许同一级别的div在同一行内,也可以设置宽度和高度!所以才会呈现如上图二所示的没有效果!

    解决办法:

    1.而如果我们将display属性设置为table-cell,将块元素转化为单元格,然后加上vertical-align:middle,就可以了呈现图三的效果了。(温馨提示:但是你们别忘记加text—align属性为center哟!)、

    2.或者可以设置行高即line-height,但是要注意,要与div的高度一致!否则也会有偏差的(温馨提示:而display:inline-block是这个)!

    四、自己vertical-align属性测试

    div加背景色了调,不然你真的不知道div的情况

    把元素变大,也容易找错

    关注你加了样式之后,是元素根本没有效果,还是效果很微小,还是效果不是你想要的效果

    仔细读样式的说明:比如 top 把元素的顶端与行中最高元素的顶端对齐

    弄清楚各个定义:比如父元素基线,比如元素的顶端,还还要关注你是操作的哪个元素

    vertical-align是操作自己,然后达到在父元素中的位置,操作的是自己。

    父元素的高度:在没有设置高度的情况下:是有最高元素的顶端+最低元素的底端构成的。

    当父元素设置了高度的时候:元素还是依次占据父元素的顶端,父元素的基线不会变,除非有元素变大,撑开父元素的基线。

    字体摆放时:是字体的下端对着父元素的基线,因为字体下端还会有一点,所以这样会撑开父元素。

    vertical-align:middle的作用:让元素的middle去对着父元素的基线。

    给一个元素加margin-top和增加元素的高度都可以改变父亲元素的高度。

    • vertical-align 设置元素的垂直对齐方式。
      • baseline 默认。元素放置在父元素的基线上。
      • top 把元素的顶端与行中最高元素的顶端对齐
      • middle 把此元素放置在父元素的中部。
      • bottom 把元素的底端与行中最低的元素的底端对齐。
      • 数值(像素)/百分比
      • text-top 把元素的顶端与父元素字体的顶端对齐
      • text-bottom 把元素的底端与父元素字体的底端对齐。
      • sub 垂直对齐文本的下标。
      • super 垂直对齐文本的上标

    也就是说:vertical-align:middle;根本就不是用来做下面的效果的,下面的效果可以通过自己顶端与最高元素的顶端对齐,然后margin-top下移来实现。margin-top:65px;vertical-align:top

    至于为什么表格中可以用这个来实现垂直居中呢:因为在表格的单元格中,基线就在中部啊,所以设置vertical-align:middle后,让元素的中部与表格的基线对齐,那肯定实现了字体在表格中的垂直居中,而且注意这里是字体。我们现在设置的是元素。

    所以vertical-align:middle就是紧抓定义,抓这句话的定义,然后关注父亲元素的基线。

    五、background属性

    background: #ff0000 url(/i/eg_bg_03.gif) no-repeat fixed center;

    background:  transparent
        url(http://images.cnblogs.com/cnblogs_com/Renyi-Fan/1188097/o_h2.png)
        repeat scroll 0% 0% !important;

    一、background属性可以设置一个元素的背景样式,当然前提是这个元素有具体的宽高值。

    先来一个简单的背景设置:

    1         #show-box {
    2             width: 800px;
    3             height: 500px;
    4             background: #000;
    5             background-image: url(image url);
    6         }
    7     </style>

    这里只是简单的设置了颜色和背景贴图。

    下面让我们来看一下官方的background的属性:

      语法格式:

      background: color position size repeat origin clip attachment image;

      注意:如果同时设置了“position”和“size”两个属性,应该用左斜杠“/”,而不是用空格把两个参数值隔开:“position/size”。

    1 background: url("img.jpg") center center/100% 100% no-repeat;

      属性表(图片可能会显示得太小,请右键“在新标签中打开”以查看原图):

      background

      1.color:背景颜色值。这个属性会把整个元素添加颜色,而且处于最底层(在有背景图片的情况下就可以看出)。

      可选值:默认是透明,其他值可以通过查看“CSS颜色值表”来设置。

     1     <style>
     2         #show-box {
     3             width: 180px;
     4             height: 180px;
     5             border: 20px dashed #000;
     6             background-color: #000000;
     7             background-color: blue;
     8             background-color: rgb(255, 255, 255);
     9             background-color: rgba(255, 255, 255, 0.8);
    10         }
    11     </style>

      2.position:背景图片的定位。如果没有图片设置,那么这个属性不起效果。

      可选值:两个参数,水平位置和垂直位置。如果只有一个值,第二个值为“center”。

      默认值是元素的左上顶角。可以使用位置关键字(top,right,bottom,left,center)。百分比(以元素大小为基值)。像素值。

     1     <style>
     2         #show-box {
     3             width: 180px;
     4             height: 180px;
     5             border: 20px dashed #000;
     6             background-position: center;
     7             background-position: center top;
     8             background-position: 0 100px;
     9             background-position: 10% 20%;
    10         }
    11     </style>

      3.size:图片尺寸。应用于图片。

      可选值:两个数值,如果只有一个值,第二个值为auto。

      默认是图片自身大小。可以使用像素值,百分百(以元素大小为基值)。

      cover:等比例缩放图片,覆盖这个元素。类似与windows中桌面背景的“填充”。

      contain:等比例缩放图片,适应元素的宽或者高。类似于windows中桌面背景的“适应”。

      

      4.repeat:平铺方式。

        repeat:完全平铺,复制图片把整个元素填满。(默认)

        repeat-x:水平平铺,在水平方向复制并平铺。

        repeat-y:垂直平铺,在垂直方向复制并平铺。

        no-repeat:不平铺,只使用一张图片。

      5.origin:背景的参考区域。

       可选值:border-box,padding-box,content-box。

      6.clip:背景的可视区域。

       可选值:border-box,padding-box,content-box。

       对比一下不同值的效果图:

        1.origin:border-box;clip:border-box;

     1     <style>
     2         #show-box {
     3             width: 180px;
     4             height: 180px;
     5             margin: 20px;
     6             padding: 20px;
     7             border: 20px dashed #000;
     8             background: url("img.jpg") no-repeat border-box border-box;
     9         }
    10     </style>

        

        2.origin:padding-box;clip:border-box;

     1     <style>
     2         #show-box {
     3             width: 180px;
     4             height: 180px;
     5             margin: 20px;
     6             padding: 20px;
     7             border: 20px dashed #000;
     8             background: url("img.jpg") no-repeat padding-box border-box;
     9         }
    10     </style>

        

        

        3.origin:content-box;clip:border-box;

     1     <style>
     2         #show-box {
     3             width: 180px;
     4             height: 180px;
     5             margin: 20px;
     6             padding: 20px;
     7             border: 20px dashed #000;
     8             background: url("img.jpg") no-repeat content-box border-box;
     9         }
    10     </style>

        

        4.origin:border-box;clip:content-box;

     1     <style>
     2         #show-box {
     3             width: 180px;
     4             height: 180px;
     5             margin: 20px;
     6             padding: 20px;
     7             border: 20px dashed #000;
     8             background: url("img.jpg") no-repeat border-box content-box;
     9         }
    10     </style>

        

      可以看出,origin设置的是位置,clip则会根据区域裁剪出背景图片。

       

      7.attachment:设置背景图像是否固定或者随着页面的其余部分滚动。

      默认值是scroll:背景图片随页面的其余部分滚动。fixed:背景图像是固定的。

      8.多背景设置。

      导入图片:background-image: url(image url);

    二、多背景设置。

      多背景的写法:使用逗号“,”隔开,继续写背景属性。

      background: color position size repeat origin clip attachment image, color position size repeat origin clip attachment image;

      也可以具体属性单独设置:background-image:url(image url 1),url(image url 2);

     1     <style>
     2         #show-box {
     3             width: 180px;
     4             height: 180px;
     5             border: 20px dashed #000;
     6             background: url("img.jpg1") left top/100% 100% no-repeat,
     7             url("img.jpg2") left center/100% 100% no-repeat,
     8             url("img.jpg3") left bottom/100% 100% no-repeat,
     9             url("img.jpg4") center top/100% 100% no-repeat;
    10         }
    11     </style>
     1     <style>
     2         #show-box {
     3             width: 180px;
     4             height: 180px;
     5             border: 20px dashed #000;
     6             background-image: url("img.jpg1"), url("img.jpg2"), url("img.jpg3"), url("img.jpg4");
     7             background-position: left top, left center, left bottom, center top;
     8             background-size: 100%;
     9             background-repeat: no-repeat;
    10         }
    11     </style>
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    数据结构进阶——线段树
    基本数据结构—Hash哈希
    NOIP2013提高组 day2 2019.7.15
    基本算法——归并排序
    基本数据结构—Trie
    NOIP 2011 提高组 Day2 校模拟 7.11
    Noip2014提高组真题Day1,2 校模拟7.7
    NOIP2015 提高组 day1 7.8校模拟
    NOIP2008 提高组 6.9校模拟
    STL-#include<set>
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9153617.html
Copyright © 2011-2022 走看看