美文网首页
CSS3学习

CSS3学习

作者: 我是胡汉三 | 来源:发表于2018-01-12 12:51 被阅读0次
    //首先CSS3的简介,过渡。
    -webkit-transition: all 2s;/*低版本chrome和safie*/
                -moz-transition: all 2s;/*低版本火狐*/
                -o-transition: all 2s;/*低版本欧朋*/
    
                /*JS里面不支持 -- ,横杠去掉,字母变大写MoZtransition*/
    
    
    
    //CSS3属性选择器
    //CSS3新增自定义属性,aa是自定义属性。也可以替换成class
    
    p[aa]//选中p元素并且类名为aa的元素
    
    p[aa='k']//P元素类名为aa,类值为kk
    
    p[a~='old']//指定类名,类值是一个词列表,且包含old
    
    p[aa^='g']//类名开头为g
    
    p[aa$='d']//类名结束为d
    
    p[aa*='n']//属性只要包含n字符就会被选中
    
    p[aa|='n']//类名是n||类名是 n-XX格式
    
    //CSS3结构选择器
    //even偶数,add奇数。也可以用2n来表示偶数。选择器是从0开始计数
    
    p:nth-child(i)//找到p标签第i个子元素,并且元素类型为p
    
    div>p:nth-of-type(odd)//计算方式为同类型
    
    p:nth-last-child(1)//last
    
    p:first-child{//=== nth-child(1)
     p:last-child
    
    p:first-of-type//=== nth-child(1)
    h1:last-of-type
    
    p:empty//p元素不包括任何子节点,包括文本节点
    
    h3:only-of-type//h3父元素仅有一个子节点,且类型为h3.
    
    h4:only-child//h4的父元素仅为一个子节点,且类型为h4.
    
    //下面是伪类和伪元素
    //这段代码很奇怪,现在不理解
    
            div{
                width: 200px;
                height: 200px;
                background-color: black;
                color: whitesmoke;
                font-size: 66px;
                line-height: 200px;
                text-align: center;
                display: none;
    
            }
            div:target{/*target代表点击a的时候,上面产生的哈希值*//*表示突出显示活动的 HTML 锚*/
                display: block;
            }
    
    <a href="#div1">div1</a>
    <a href="#div2">div2</a>
    <a href="#div3">div3</a>
    <div id="div1">div1</div>
    <div id="div2">div2</div>
    <div id="div3">div3</div>
    
    input:enabled//表示选中可输入状态的元素
    
    input:disabled//表示选中不可输入状态的元素
    
    input:checked//表示选中状态的元素
    
    p~h1//选中p元素后面的h1[同级元素]
    
    
    p:first-letter//选中p元素内第一个文字
    
    P:first-line//选中p元素内第一行文字
    
    p::selection/按下鼠标选择文字的时候会激活。使用的属性只有bg与color
    
    p:before{//p文字最前面
        content:'秒味';
        background-color:red;
        border:1px solid #000;
    
    }
    
    p:after//p元素最后面
    
    h1:not(.h2)//选中!(class==='h2')的h2元素
    
    //还有rgba属性
    direction:rtl; ||ltr;//设置文字排版
    unicode-bidi://设置文字排列方向
    
    box-shadow: 水平偏移 垂直偏移 模糊度 阴影扩展 阴影颜色 内外阴影;
    /*box-shadow: 10px 10px 10px 10px skyblue inset;*/
    
    text-shadow: 0px 2px 10px red,5px 5px 10px green;
                /*左右偏移量 上下偏移量 模糊距离 模糊颜色*/
    
    -webkit-text-stroke:2px red ;//文字描边,只有webkit浏览器才支持
    
    /*文本强制不换行,默认是换行的*/
                white-space: nowrap;
                /*超出边框隐藏*/
                overflow: hidden;
                /*文字溢出显示省略号*/
                /*这个是省略的意思*/
                text-overflow: ellipsis;
    

    盒模型响应式布局

    box-sizing:border-box;

    background: -webkit-linear-gradient(right,red 0, blue 100%);//渐变属性
    
    /*这个是倒影属性  目前只支持webkit内核的浏览器*/
                /*第一个参数有above|below|left|right 第二个参数是两者之间的距离*/
                -webkit-box-reflect: right 10px -webkit-linear-gradient(bottom,rgba(0,0,0,1) 0, rgba(0,0,0,0) 100%);
    
    //-webkit-box-reflect:方向 倒影间隔 倒影样式设置
    
    //结合背景图像生成可拖拽文档
    resize:both;属性规定可由用户调整元素大小的属性
    overflow: auto;//需要两条结合在一起使用
    

    新的UI方案课件

    /*圆角半径*/
                border-radius: 10px 20px;/*指的是对角*/
                /*
                如果是一个值,那么 top-left、top-right、bottom-right、bottom-left 四个值相等。
    
    如果是两个值,那么 top-left和bottom-right相等,为第一个值,top-right和bottom-left值相等,为第二个值。
    
    如果是三个值,那么第一个值是设置top-left,而第二个值是 top-right 和 bottom-left 并且他们会相等,第三个值是设置 bottom-right。
    
    如果是四个值,那么第一个值是设置 top-left, 而第二个值是 top-right 第三个值 bottom-right 第四个值是设置 bottom-left
                */
    
    /*x轴半径,y轴半径。比较常见的椭圆*/
            border-radius: 100px/150px;
    
                //边框背景
                width: 200px;
                height: 200px;
                border: 20px solid #000;
                /*图片地址,
                 border-image-slice: 20 20 20 20; //指定边框图像上,右,下,左内测偏移量。作用就是把边框图像切成9个区域:4个角、4边区域和一个中间部位,前辈们都谦虚称作9宫格,但是我悄悄跟你说哦
    
                */
    
                /*对于这个元素来说,其实也是分为了九个格子。而图片也是分为了九个格子*/
                border-image: url("../border.png");
                border-image-slice: 27 27 27 27 ;
                border-image-width: 20px;
                /*border-image-repeat: repeat;*/
    
                /*stretch 拉伸
                repeat 重复
                round 平铺
                */
    
                /*
                三种包括
                border-image-source: ; //引入图片
                border-image-slice: ; // 切割图片
                border-image-width: ; //边框背景宽度
                border-image-repeat: repeat; //图片排列方式
    
    
                */
    
    
                /*
                border-image-slice: 27;指定了上,右,下,左图片内容的偏移量。(偏移的是图片)
                关于这个元素的详尽解释: 他的作用是将边框分割为九宫格的形式,而图片也是被分为了九宫格。然后就匹配啦
                */
    
    
    /*多边框颜色只支持在火狐下面实现*/
                -moz-border-left-colors: red pink green;
    
                /*线性渐变*/
                background-image: -webkit-linear-gradient(left ,pink 0%,red 100%);
                // -webkit-linear-gradient(渐变方向[方向||deg],pink 0%,red 100%);
                background-image: -webkit-linear-gradient(left ,pink 0%,red 100%);
    background-image:-webkit-linear-gradient(left,red 0%,red 30%,green 30%,green 70%,blue 70%);//设置无偏差的颜色
    
                background-image: -webkit-repeating-linear-gradient(left,red 0px,blue 30px) ;//表示颜色平铺渐变
    
    颜色平铺渐变
    //还有多重背景,加逗号就可以啦
    
                /*ellipse表示椭圆*/
                /*circle表示圆*/
    background: -webkit-radial-gradient(/*50px*/ top,circle,red,black);//径向渐变
    background: -webkit-radial-gradient(50px 100px,red,black);//径向渐变
    
    //设置背景图的大小。cover:width&&height都铺满,contain:只满足一个
    background-size: 100px 200px;//cover[覆盖],contain[包含]
    
    //背景基点设置。
    background-origin: content-box;//参数:padding-box||content-box||border-box;
    //背景裁切
    background-clip: border-box;//设置从哪个地方开始显示,区域的都变成了白色
    其中,有一个非常好玩的属性
    -webkit-background-clip:text;//文字后面显示background,其余是白色[webkit,firefox,opera都已支持]
    
    
    //此外还有一个遮罩效果
    -webkit-mask: url(../mask.png) no-repeat;//设置背景图片都取反 n== 透明||不透明。使用mast的图片===(!n);//主流浏览器已实现
    
    遮罩效果

    过渡和2D变换

    transition:过渡属性 过渡时长 运动速度 延迟时间;
    transition:width 2s, height 2s,background-color 5s;//经常与hover连用
    **可以使用贝塞尔曲线**
    
    //过渡没完成一条属性,就会触发 一次事件transition
    
        function addEnd(obj,fn){
            /*发生在过度完成之后*/
            obj.addEventListener('WebkitTransitionEnd',fn,false);/*在chrome下*/
            obj.addEventListener('transitionend',fn,false);/*在标准浏览器*/
        }
    
    //2D变换
    transform: rotateY(300deg);//rotateX||rotateY||rotateZ//旋转
    
    transform: skew(30deg,90deg);//表示斜切 (X,Y)。父元素切过来,子元素还需要再切过去。
    
    transform: scale(1.3,0.5);//X轴与Y轴缩放
    
    transform: translate(100px,200px);//位移(X轴,Y轴,3D变换中还有Z轴)
    
    transform-origin:0px 100px;//这个是变化基点。参数可以是方向和数值
    
    -webkit-transform: matrix(1,0,0,1,100,200);//martix
    

    3D变换笔记

    -webkit-transform-style: preserve-3d;//建立3D空间
    -webkit-perspective: 800px;//建立景深
    
    perspective-origin: center center;//从哪个方向观看。参数是数值或者方向[X轴,Y轴]
    
    /*运动总时间 延迟时间  关键帧的名字 运行状态 重复次数 */
                /**/
                animation: 2s 1s move ease-in infinite;
    
                animation-play-state: paused;//设置播放模式running
    
                animation-direction:alternate;/*alternate 倒序播放。[偶数次是倒回来]。normal是正常播放*/
    
              animation-fill-mode
            none: 不做任何改变
                forwards: 让元素结束状态保持动画最后一帧的样式
                backwards: 让元素等待状态的时候显示动画第一帧的样式
                both: 让元素等待状态显示动画第一帧的样式, 让元素结束状态保持动画最后一帧的样式
    
    //动画执行结束会触发一个动画事件
    
    function addEnd(obj,fn)
        {
            obj.addEventListener('webkitAnimationEnd',fn, false);
            obj.addEventListener('animationend',fn, false);
        }
    
    
    
    a:link{*/
                /*color: green;*/
            /*}*/
            /*a:visited{*/
                /*color: green;*/
            /*}*/
            a:hover{
                color: orange;
            }
            a:active{
                color: pink;
            }
    
    
    
    //江哥
    
    /*a:link{*/
                /*color: green;*/
            /*}*/
            /*a:visited{*/
                /*color: green;*/
            /*}*/
            a:hover{
                color: orange;
            }
            a:active{
                color: pink;
            }
    
    transition:过渡属性 过渡时长 运动速度 延迟时间;
    
    transform:rotate(45deg);//代表旋转 translate(100px, 0px);//代表平移 scale(1.5,0.5)//代表缩放 (X,Y)
    
    
    transform-origin: 200px 0px; //表示形变中心点
    
    perspective: 500px;
    
    box-shadow: 水平偏移 垂直偏移 模糊度 阴影扩展 阴影颜色 内外阴影;
    /*box-shadow: 10px 10px 10px 10px skyblue inset;*/
    
    animation
    animation-fill-mode
            none: 不做任何改变
                forwards: 让元素结束状态保持动画最后一帧的样式
                backwards: 让元素等待状态的时候显示动画第一帧的样式
                both: 让元素等待状态显示动画第一帧的样式, 让元素结束状态保持动画最后一帧的样式
    
    背景尺寸属性:background-size: 具体px 与% contain宽或者高填满内容  cover高和宽分别填满内容
    
    
    background-origin: padding-box;border-box;content-box;
    background-image: url("images/animal1.png"),url("images/animal2.png"),url("images/animal3.png");
    

    相关文章

      网友评论

          本文标题:CSS3学习

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