• css常见知识点


    1.内核区分

    希望某一个浏览器能一统江湖

    -ms-transform:rotate(7deg);                //-ms代表ie内核识别码
    -moz-transform:rotate(7deg);             //-moz代表火狐内核识别码
    -webkit-transform:rotate(7deg);         //-webkit代表谷歌内核识别码
    -o-transform:rotate(7deg);               //-o代表欧朋【opera】内核识别码
    transform:rotate(7deg);                   //统一标识语句。。。最好这句话也写下去,符合w3c标准

    2.屏幕的高度

    js获取
    /********************
     * 取窗口滚动条滚动高度  
     ******************/
    function getScrollTop()
    {
      var scrollTop=0;
      if(document.documentElement&&document.documentElement.scrollTop)  {
        scrollTop=document.documentElement.scrollTop;
      }  else if(document.body)  {
        scrollTop=document.body.scrollTop;
      }
      return scrollTop;
    }
    /********************
     * 取窗口可视范围的高度  
     *******************/
    function getClientHeight()
    {
      var clientHeight=0;
      if(document.body.clientHeight&&document.documentElement.clientHeight)  {
      var clientHeight = (document.body.clientHeight<document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight;   
      }  else  {
        var clientHeight = (document.body.clientHeight>document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight;   
      }
      return clientHeight;
    }
    /********************
     * 取文档内容实际高度  
     *******************/
    function getScrollHeight(){
      return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight);
    }
    ////////////////////////////////////////////////////
    在IE中:
    document.body.clientWidth ==> BODY对象宽度
    document.body.clientHeight ==> BODY对象高度
    document.documentElement.clientWidth ==> 可见区域宽度
    document.documentElement.clientHeight ==> 可见区域高度
    在FireFox中:
    document.body.clientWidth ==> BODY对象宽度
    document.body.clientHeight ==> BODY对象高度
    document.documentElement.clientWidth ==> 可见区域宽度
    document.documentElement.clientHeight ==> 可见区域高度
    在Opera中:  
    document.body.clientWidth ==> 可见区域宽度
    document.body.clientHeight ==> 可见区域高度
    document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)
    document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)

     3.jquery获取屏幕的尺寸

    //获取浏览器显示区域(可视区域)的高度 :   
    $(window).height();   
    //获取浏览器显示区域(可视区域)的宽度 :
    $(window).width();   
    //获取页面的文档高度   
    $(document).height();   
    //获取页面的文档宽度 :
    $(document).width(); 
    //浏览器当前窗口文档body的高度:  
    $(document.body).height();
    //浏览器当前窗口文档body的宽度: 
    $(document.body).width();
    //获取滚动条到顶部的垂直高度 (即网页被卷上去的高度)  
    $(document).scrollTop();   
    //获取滚动条到左边的垂直宽度 :
    $(document).scrollLeft(); 
    //获取或设置元素的宽度:
    $(obj).width();
    //获取或设置元素的高度:
    $(obj).height();
    //某个元素的上边界到body最顶部的距离:obj.offset().top;(在元素的包含元素不含滚动条的情况下)
    //某个元素的左边界到body最左边的距离:obj.offset().left;(在元素的包含元素不含滚动条的情况下)
    //返回当前元素的上边界到它的包含元素的上边界的偏移量:obj.offset().top(在元素的包含元素含滚动条的情况下)
    //返回当前元素的左边界到它的包含元素的左边界的偏移量:obj.offset().left(在元素的包含元素含滚动条的

     4.jquery获取位置

    //获取页面某一元素的绝对X,Y坐标,可以用offset()方法:
    var top = $('#ID').offset().top;
    var left = $('#ID').offset().left;
    //获取相对(父元素)位置:
    var top = $('#ID').position().top;
    var left = $('#ID').position().left;
    //position()方法相对父元素是指拥有position为relative或absolute属性的父元素。
    //让Div随滚动条移动:
    <div id="oLayer" style="position: absolute; left: 0; top:80px; z-index: 2; background: a9c9ef; margin-left:6px; 140px; height: 70px">
    </div>
    
    //jquery代码:
    $(window).scroll(function() {
        var init_pos = $('#oLayer').offset().top;
        $('#oLayer').css("top", $(window).scrollTop()+80)
    });

     5.常见的宽度和高度获取

    网页可见区域宽: document.body.clientWidth
    网页可见区域高: document.body.clientHeight
    网页可见区域宽: document.body.offsetWidth (包括边线的宽)
    网页可见区域高: document.body.offsetHeight (包括边线的高)
    网页正文全文宽: document.body.scrollWidth
    网页正文全文高: document.body.scrollHeight
    网页被卷去的高: document.body.scrollTop
    网页被卷去的左: document.body.scrollLeft
    网页正文部分上: window.screenTop
    网页正文部分左: window.screenLeft
    屏幕分辨率的高: window.screen.height
    屏幕分辨率的宽: window.screen.width
    屏幕可用工作区高度: window.screen.availHeight
    屏幕可用工作区宽度: window.screen.availWidth
    <script language="javascript">
    function screenInfo(){
        var  s = "";
       s += "
    网页可见区域宽:"+ document.body.clientWidth;
       s += "
    网页可见区域高:"+ document.body.clientHeight;
       s += "
    网页可见区域宽:"+ document.body.offsetWidth  +" (包括边线的宽)";
       s += "
    网页可见区域高:"+ document.body.offsetHeight +" (包括边线的宽)";
       s += "
    网页正文全文宽:"+ document.body.scrollWidth;
       s += "
    网页正文全文高:"+ document.body.scrollHeight;
       s += "
    网页被卷去的高:"+ document.body.scrollTop;
       s += "
    网页被卷去的左:"+ document.body.scrollLeft;
       s += "
    网页正文部分上:"+ window.screenTop;
       s += "
    网页正文部分左:"+ window.screenLeft;
       s += "
    屏幕分辨率的高:"+ window.screen.height;
       s += "
    屏幕分辨率的宽:"+ window.screen.width;
       s += "
    屏幕可用工作区高度:"+ window.screen.availHeight;
       s += "
    屏幕可用工作区宽度:"+ window.screen.availWidth;
       alert(s);
    }
    </script>

     6.CSS动画

    animation 属性是一个简写属性,用于设置六个动画属性:

    语法:animation: name duration timing-function delay iteration-count direction;

    下面的表格列出了 @keyframes 规则和所有动画属性:

    属性描述CSS
    @keyframes 规定动画。 3
    animation 所有动画属性的简写属性,除了 animation-play-state 属性。 3
    animation-name 规定 @keyframes 动画的名称。 3
    animation-duration 规定动画完成一个周期所花费的秒或毫秒。默认是 0。 3
    animation-timing-function 规定动画的速度曲线。默认是 "ease"。 3
    animation-delay 规定动画何时开始。默认是 0。 3
    animation-iteration-count 规定动画被播放的次数。默认是 1。 3
    animation-direction 规定动画是否在下一周期逆向地播放。默认是 "normal"。 3
    animation-play-state 规定动画是否正在运行或暂停。默认是 "running"。 3
    animation-fill-mode 规定对象动画时间之外的状态。 3

    语法解释:

    1.动画名称animation 属性是一个简写属性,用于设置六个动画属性:

    animation-name: none | IDENT[,none | IDENT]*;
    animation-name:是用来定义一个动画的名称,其主要有两个值:IDENT是由Keyframes创建的动画名,换句话说此处的IDENT要和Keyframes中的IDENT一致,如果不一致,将不能实现任何动画效果;none为默认值,当值为none时,将没有任何动画效果。另外我们这个属性跟前面所讲的transition一样,我们可以同时附几个animation给一个元素,我们只需要用逗号“,”隔开。

    2.动画播放持续的时间
    animation-duration: <<SPAN style="COLOR: rgb(38,139,210); MARGIN-LEFT: 60px" class="title">time>[,<<SPAN style="COLOR: rgb(38,139,210); MARGIN-LEFT: 60px" class="title">time>]*
    animation-duration是用来指定元素播放动画所持续的时间长,取值:为数值,单位为s (秒.)其默认值为“0”。

    3.动画播放方式
    animation-timing-function:ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(<<SPAN style="COLOR: rgb(38,139,210); MARGIN-LEFT: 60px" class="title">number>, <<SPAN style="COLOR: rgb(38,139,210); MARGIN-LEFT: 60px" class="title">number>, <<SPAN style="COLOR: rgb(38,139,210); MARGIN-LEFT: 60px" class="title">number>, <<SPAN style="COLOR: rgb(38,139,210); MARGIN-LEFT: 60px" class="title">number>) [, ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(<<SPAN style="COLOR: rgb(38,139,210); MARGIN-LEFT: 60px" class="title">number>, <<SPAN style="COLOR: rgb(38,139,210); MARGIN-LEFT: 60px" class="title">number>, <<SPAN style="COLOR: rgb(38,139,210); MARGIN-LEFT: 60px" class="title">number>, <<SPAN style="COLOR: rgb(38,139,210); MARGIN-LEFT: 60px" class="title">number>)]*
    animation-timing-function:是指元素根据时间的推进来改变属性值的变换速率,说得简单点就是动画的播放方式.具有以下六种变换方式:ease;ease-in;ease-in-out;linear;cubic-bezier。虽然这个属性么有用过,这里要了解一下这个属性的枚举值。animation-timing-function 使用名为三次贝塞尔(Cubic Bezier)函数的数学函数,来生成速度曲线。您能够在该函数中使用自己的值,也可以预定义的值:

    描述测试
    linear 动画从头到尾的速度是相同的。 测试
    ease 默认。动画以低速开始,然后加快,在结束前变慢。 测试
    ease-in 动画以低速开始。 测试
    ease-out 动画以低速结束。 测试
    ease-in-out 动画以低速开始和结束。 测试
    cubic-bezier(n,n,n,n) 在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值。  

    4.动画开始时间
    animation-delay: <<SPAN style="COLOR: rgb(38,139,210); MARGIN-LEFT: 60px" class="title">time>[,<<SPAN style="COLOR: rgb(38,139,210); MARGIN-LEFT: 60px" class="title">time>]*
    animation-delay:是用来指定元素动画开始时间。取值为为数值,单位为s(秒),其默认值也是0。

    5.动画循环次数
    animation-iteration-count:infinite | <<SPAN style="COLOR: rgb(38,139,210); MARGIN-LEFT: 60px" class="title">number> [, infinite | <<SPAN style="COLOR: rgb(38,139,210); MARGIN-LEFT: 60px" class="title">number>]*
    animation-iteration-count是用来指定元素播放动画的循环次数,其可以取值为数字,其默认值为“1”;infinite为无限次数循环。

    6.动画播放方向
    animation-direction: normal | alternate [, normal | alternate]*
    animation-direction是用来指定元素动画播放的方向,其只有两个值,默认值为normal,如果设置为normal时,动画的每次循环都是向前播放;另一个值是alternate,他的作用是,动画播放在第偶数次向前播放,第奇数次向反方向播放。

    7.动画播放状态
    animation-play-state:running | paused [, running | paused]*
    animation-play-state主要是用来控制元素动画的播放状态。其主要有两个值,running和paused其中running为默认值。他们的作用就类似于我们的音乐播放器一样,可以通过paused将正在播放的动画停下了,也可以通过running将暂停的动画重新播放,我们这里的重新播放不一定是从元素动画的开始播放,而是从你暂停的那个位置开始播放。另外如果暂时了动画的播放,元素的样式将回到最原始设置状态。这个属性目前很少内核支持,所以只是稍微提一下。

    8.动画最终状态
    animation-fill-mode : none | forwards | backwards | both;
    animation-fill-mode 属性规定动画在播放之前或之后,其动画效果是否可见。这个在设置从底部向上滑动,左侧导航的页面的时候很有用,如果不设置这个属性会回到开始状态。

    描述
    none 不改变默认行为。
    forwards 当动画完成后,保持最后一个属性值(在最后一个关键帧中定义)。
    backwards 在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义)。
    both 向前和向后填充模式都被应用。
  • 相关阅读:
    git知识点总结
    自动化进阶
    unittest单元测试框架
    自动化测试模型
    webdriver
    python文件处理
    uva 11077 置换
    poj 1066 Treasure Hunt
    poj 2661 Factstone Benchmark
    hdu 4180
  • 原文地址:https://www.cnblogs.com/tylerdonet/p/4884804.html
Copyright © 2020-2023  润新知