zoukankan      html  css  js  c++  java
  • CSS3【控制样式,网页布局】

    一、CSS3中新特性样式篇


    (一)、背景

    background-origin:   规定背景图片的定位区域
    ☞ padding-box 背景图像相对内边距定位(默认值) ☞ border-box 背景图像相对边框定位【以边框左上角为参照进行位置设置】 ☞ content-box 背景图像相对内容区域定位【以内容区域左上角为参照进行位置设置】 备注: 1. 默认盒子的背景图片是在盒子的内边距左上角对齐设置。 background-clip: 规定背景的绘制区域。 ☞ border-box 背景被裁切到边框盒子位置 【将背景图片在整个容器中显示】 ☞ padding-box 背景被裁切到内边距区域【将背景图片在内边距区域(包含内容区域)显示】 ☞ content-box 背景被裁切到内容区域【将背景图片在内容区域显示】 background-size: 规定背景图片的尺寸。 ☞ cover 将背景图片按照原来的缩放比,将整个容器铺满 ☞ contain 将背景图片按照原来的缩放比,完整的显示到容器中

    (二)、边框

    box-shadow:      盒子阴影
    border-radius:   边框圆角
    /* 第一个0px 代表阴影在水平方向的偏移量(正数向右,负数向左)*/
    /* 第二个0px 代表阴影在垂直方向的偏移量(正数代表向下,负数代表向上)*/
    /* 第三个10px代表阴影的模糊度 (不能设置负数)*/
    /* 设置多个阴影,使用逗号隔开
    box-shadow:0px 0px 10px red,5px -5px 10px blue;
    border-image:      边框图片
    /* 设置边框图片 */
    border-image-source: url("2.png");
    /* 边框图片裁切 : 不需要带单位*/
    border-image-slice: 20;
    /* 设置边框图片的平铺方式 */
    /* border-image-repeat: stretch; */
    border-image-repeat: round;
    /*  border-image-repeat: repeat; */
    border-image- 20px;

    (三)、文本

    ☞text-shadow: 设置文本阴影

    二、CSS3新特性之选择器篇


    ☞ 属性选择器: 
            [属性名=值] {}
            [属性名] {}       匹配对应的属性即可
            [属性名^=值] {}    以值开头
            [属性名*=值] {}    包含
            [属性名$=值] {}       以值结束
    
    ☞ 结构伪类选择器:
          :first-child {}     选中父元素中第一个子元素
          :last-child {}      选中父元素中最后一个子元素
          :nth-child(n) {}    选中父元素中正数第n个子元素
          :nth-last-child(n) {}    选中父元素中倒数第n个子元素
          备注;
             n 的取值大于等于0
             n 可以设置预定义的值
                odd【选中奇数位置的元素】
                even【选中偶数位置的元素】
    
             n 可以是一个表达式:
                 an+b的格式
    ☞ 其他选择器:
        :target          被锚链接指向的时候会触发该选择器
        ::selection         当被鼠标选中的时候的样式
        ::first-line     选中第一行
        ::first-letter     选中第一个字符

    三、CSS3新特性之颜色渐变


      ☞ 线性渐变:
             1. 开始颜色和结束颜色
             2. 渐变的方向
             3. 渐变的范围
           background-image:  linear-gradient(
                    to right,
                    red,
                    blue
            );
        备注:
             表示方向:
                 1. to + right | top | bottom | left 
                 2. 通过角度表示一个方向
                   0deg 【从下向上渐变】
                   90deg【从左向右】
      ☞ 径向渐变:
               /* 径向渐变 */
                background-image: radial-gradient(
                     100px at center,
                     red,
                     blue
                );

    四、2D转换


    ☞ 位移
           transform: translate(100px,100px);
           备注:
                位移是相对元素自身的位置发生位置改变
      ☞ 旋转
            transform: rotate(60deg);
           备注:
               取值为角度
      ☞ 缩放
            transform: scale(0.5,1);
            备注:
                 取值为倍数关系,缩小大于0小于1,放大设置大于1
      ☞ 倾斜
           transform: skew(30deg,30deg);
              备注:
              第一个值代表沿着x轴方向倾斜
              第二个值代表沿着y轴方向倾斜

    五、3D转换


      ☞ 位移
        transform: translateX()  translateY()   translateZ()
      ☞ 旋转
         transform: rotateX(60deg)  rotateY(60deg)  rotateZ(60deg);
      ☞ 缩放
          transform: scaleX(0.5)  scaleY(1)  scaleZ(1);
      ☞ 倾斜
          transform: skewX(30deg) skewY();
      ☞ transform-style: preserve-3d;
         将平面图形转换为立体图形

    六、CSS3新特性之动画篇


    (一)、过渡

     https://www.cnblogs.com/afighter/p/5731293.html
     补间动画
                /* 设置哪些属性要参与到过渡动画效果中: all */
                transition-property: all;
    
                /* 设置过渡执行时间 */
                transition-duration: 1s;
    
                /* 设置过渡延时执行时间 */
                transition-delay: 1s;
    
                /* 设置过渡的速度类型 */
                transition-timing-function: linear;

    (二)、动画

        /* 1定义动画集 */
            @keyframes  rotate {
                /* 定义开始状态  0%*/
                from {
                    transform: rotateZ(0deg);
                }
                /* 结束状态 100%*/
                to {
                   transform: rotateZ(360deg);
                }
            }
    
        注意:
             1. 如果设置动画集使用的是百分比,那么记住百分比是相对整个动画执行时间的。

    七、CSS3新特性之网页布局篇


    伸缩布局或者弹性布局【响应式布局】

       ☞ 设置父元素为伸缩盒子【直接父元素】
            display: flex
    
          为什么在伸缩盒子中,子元素会在一行上显示?
                 1. 子元素是按照伸缩盒子中主轴方向显示
                 2. 只有伸缩盒子才有主轴和侧轴
                 3. 主轴: 默认水平从左向右显示
                 4。 侧轴: 始终要垂直于主轴
    
      ☞ 设置伸缩盒子主轴方向(flex-direction)
                   flex-direction: row; 【默认值】
                flex-direction: row-reverse; 反转
                flex-direction: column;垂直
                flex-direction: column-reverse;垂直反转
      ☞ 设置元素在主轴的对齐方式( justify-content)
            /* 设置子元素在主轴方向的对齐方式 */
                justify-content: flex-start; 向主轴的最左侧对齐
                justify-content: flex-end; 向主轴的最右侧对齐
                justify-content: center; 在主轴的最中间
                justify-content: space-between; 向两端对齐的平铺
                justify-content: space-around;	环绕对齐平铺
    
      ☞ 设置元素在侧轴的对齐方式 (align-items)
                align-items: flex-start;向侧轴的最上面对齐
                align-items: flex-end;向侧轴的最下面对齐
                align-items: center;在侧轴的最中间
    
                /* 默认值 */
                align-items: stretch;
    
      ☞ 设置元素是否换行显示(flex-wrap)
              1. 在伸缩盒子中所有的元素默认都会在一行上显示
              2. 如果希望换行:
                flex-wrap: wrap | nowrap;
    
      ☞ 设置元素换行后的对齐方式( align-content)
                align-content: flex-start;
                align-content: flex-end;
                align-content: center;
                align-content: space-around;
                align-content: space-between;
                /* 换行后的默认值 */
                align-content: stretch;
  • 相关阅读:
    关机相关(shutdown,reboot)
    软件架构学习小结
    颜色空间RGB与HSV(HSL)的转换
    OData语法
    拷贝构造函数,深拷贝,大约delete和default相关业务,explicit,给定初始类,构造函数和析构函数,成员函数和内联函数,关于记忆储存,默认参数,静态功能和正常功能,const功能,朋友
    登录模块
    TextView 使用自定义的字体和亮点
    基于Hama并联平台Finding a Maximal Independent Set 设计与实现算法
    VS2012使用XListCtrl
    ThinkPHP 3.2 开放 cache注缓存,过滤非法字符
  • 原文地址:https://www.cnblogs.com/junjingyi/p/9184113.html
Copyright © 2011-2022 走看看