• CSS 属性学习笔记(二)


    CSS3的新边框属性

    • border-radius:给边框设置圆角,可以指定top-lefttop-rightbottom-leftbottom-right,也可以复合着写,规则如下:
    border-radius: p1 p2 p3 p4
    /* 左上->右上->右下->左下(顺时针)*/
    border-radius: p1 p2 p3
    /* 左上->右上、左下->右下 */
    border-radius: p1 p2
    /* 左上、右下->右上、左下 */
    border-radius: p1
    /* 相同 */
    
    • box-shadow:设置一个或多个下拉阴影,可以选择偏移量、模糊距离等,语法如下:
    box-shadow: 0px 2px 10px 1px #ddd inset
    /* 
    1. h-shadow,水平阴影的位置(必需)
    2. v-shadow,垂直阴影的位置(必需)
    3. blur,模糊距离
    4. spread,阴影大小
    5. color,阴影颜色
    6. inset,转换成内侧阴影
     */
    
    • border-image-source:通过url()指定图像作为边框
    • border-image-slice:指定图像的边界向内偏移,将图像分成九宫格,中间部分将被丢弃(写上fill可以保留中间部分),剩下的部分就是边框的组成。语法如下:
    border-image-slice: p1 p2 p3 p4
    /* 顶部偏移->右边偏移->底部偏移->左边偏移 */
    border-image-slice: p1 p2 p3
    /* 顶部偏移->左、右边偏移->底部偏移 */
    border-image-slice: p1 p2
    /* 顶、底偏移->左、右偏移 */
    border-image-slice: p1
    /* 相同 */
    
    • border-image-width:在图像切片的基础上,规定了边框图像的宽度,取值若是纯数字,则代表相应的border-width的倍数;效果是:相应的背景图像会根据这个属性值进行缩放,然后再重复/平铺/拉伸
    • border-image-repeat:规定如何延展和铺排图像的边缘,和中间部分(如果保留了的话)
      • stretch,拉伸填充(默认)
      • repeat,平铺填充
      • round:平铺,但适当缩放,保证图像的平铺个数完整
    • border-image-outset:把边框图像向外延伸
    • border-image:速记属性
    border-image: url(xxx) 20 round
    /* 这里的20是边界的偏移量 */
    border-image: url(xxx) 20 / 3em / round
    /* 加上3em作为图像宽度,需要用 / 隔开 */
    

    详细可参考:CSS3 border-image 彻底明白,我的神,segmentfault

    CSS3的新背景属性

    • background-image:可以指定多张图像,url(a),url(b),a会叠在b之上
    • background-size:指定背景图像大小,100% 100%可以实现填充
    • background-origin:指定背景图像的位置区域,可选content-boxpadding-boxborder-box
    • background-clip:指定背景图像的裁剪区域,可选content-boxpadding-boxborder-box,只有落到裁剪区域内才会显示;另外,它可以同时控制背景图像和背景色的显示范围,而background-origin只能控制图像
      详细可参考:css中backgrou-clip属性的作用,蓝色眼泪1,博客园

    渐变

    通过渐变,可以表现出两个或多个颜色之间的过渡,有两种类型可供选择:

    • 线性渐变(line-gradient):上/下/左/右/对角方向
    background-image: linear-gradient(#e66465, #9198e5);
    /* 设置了两个颜色结点 */
    

    默认的线性渐变是从上到下:

    在括号内的第一个值设置渐变的方向,记得加上一个to

    background-image: linear-gradient(to top right, #e66465, #9198e5);
    /* 从左下角到右上角 */
    


    颜色结点可以有多个;渐变的方向也可以做更精细的调整,以deg为单位,取值的有效范围在-180~180,之所以说有效,是因为取270也可以,但是效果跟-90一样:

    另外,使用repeating-linear-gradient可以设置重复的线性渐变:

    background-image: repeating-linear-gradient(45deg, yellow, yellow 12.5%, black 12.5%, black 25%); 
    /* 跟在颜色后面的值表示颜色结点的位置 */
    

    蜜蜂的模样:

    • 径向渐变(radial-gradient):可以指定渐变的中心、形状、大小
    background-image: radial-gradient(circle, #e66465, #9198e5)
    /* 默认形状是ellipse */
    


    详细可参考:CSS渐变的两种基本用法,陌上兮月,博客园

    CSS3的新文本效果属性

    • text-shadow:文本阴影,小学时上过信息课的应该玩过word里所谓的艺术字,大概就那种效果;语法跟box-shadow相同
    • text-overflow:指定了如何显示溢出内容
      • clip:修剪
      • ellipsis:显示省略号
    • word-wrap:指定长内容的换行规则
      • normal:只在允许的断字点换行
      • break-word:允许在长单词或 URL 地址内部进行换行
    • word-break:指定非CJK(中日韩)脚本的换行规则
      • normal:使用浏览器默认规则
      • break-all:允许在单词内换行
      • keep-all:只能在半角空格或连字符处换行

    导入字体

    通过@font-face可以在网页中导入自己需要的字体文件,并定义字体的名称,然后就可以在其他元素中使用该字体:

    @font-face {
        font-familt: fontname;  /* 字体名称 */
        src: url(Menlo.ttf);    /* 文件路径 */
    }
    

    定义名称路径是必需的,也可以选择定义样式、粗细,比如若是想要使用字体的粗体版本,就必须添加另一个@font-face规则:

    @font-face {
        font-familt: fontname;       /* 字体名称 */
        src: url(Menlo_bold.ttf);    /* 粗体的文件路径 */
        font-weight: bold;
    }
    

    需要注意的一点是不同的浏览器对字体文件格式有不同的支持,比较常用的是.woff.ttf.otf

    框大小

    我们知道定义一个元素的widthheight,并没有将内边距、边框计算在内,如果设置了内边距或边框,真实的宽、高会更大;在CSS3中,通过设置box-sizing: border-box,可以让widthheight的设计更加符合直觉,它会将内边距和边框一起计算在内。
    推荐给所有元素使用box-sizing

    * {
        box-sizing: border-box;
    }
    
  • 相关阅读:
    网络编程
    Ant path 匹配原则
    Android Html.fromhtml
    android AsyncTask
    Android 系统联系人相关URI
    Android 学习心得体会
    中国天气网api(json格式)
    android:textAppearance
    Android COLLATE LOCALIZED ASC
    Android 快递接口
  • 原文地址:https://www.cnblogs.com/zzzt20/p/12421641.html
Copyright © 2020-2023  润新知