zoukankan      html  css  js  c++  java
  • day4

    1- 如何设置一个元素垂直居中?

       1. 设置元素为定位元素,设置元素定位位置,上下左右都为0,设置margin属性为auto;

       2. 设置元素为定位元素,设置元素定位位置top,left为50%,设置元素左,上外边距为宽高的-1/2;

       3. 设置元素为定位元素,设置元素定位位置为50%,设置元素偏移量为-50%(元素尺寸的一半).

    2- 图片懒加载的实现:

    懒加载定义:

          当一个页面有很多图片时,先加载用户看到的图片,随着页面的滚动加载所需要的图片.

    懒加载作用:

          减少或者延迟请求次数,减轻浏览器压力,提升用户体验.

    实现方法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    var imgs = document.querySelectorAll('img');
     
            //offsetTop是元素与offsetParent的距离,循环获取直到页面顶部
            function getTop(e) {
                var T = e.offsetTop;
                while(e = e.offsetParent) {
                    T += e.offsetTop;
                }
                return T;
            }
     
            function lazyLoad(imgs) {
                var H = document.documentElement.clientHeight;//获取可视区域高度
                var S = document.documentElement.scrollTop || document.body.scrollTop;
                for (var i = 0; i < imgs.length; i++) {
                    if (H + S > getTop(imgs[i])) {
                        imgs[i].src = imgs[i].getAttribute('data-src');
                    }
                }
            }
     
            window.onload = window.onscroll = function () { //onscroll()在滚动条滚动的时候触发
                lazyLoad(imgs);
            }
    </script>

    3- 简述媒体查询的作用:

      针对不同屏幕尺寸设置不同的样式

    4- css3 新增了哪些特性:

    CSS3选择器

    CSS3边框(Borders)

    CSS3背景

    CSS3渐变

    CSS3文本效果

    CSS3字体

    CSS3转换和变形

    2D转换方法

    3D转换属性

    CSS3过度

    CSS3动画

    CSS3多列

    CSS3盒模型

    CSS3伸缩布局盒模型(弹性盒子)

    CSS3多媒体查询

    5- display:none 和 visibility:hidden 的区别:

        1. 元素设置了display: none,那么该元素以及它的所有后代元素都会隐藏,隐藏后的元素无法点击,无法使用屏幕阅读器等辅助设备访问,占据的空间消失;

               给元素设置visibility: hidden也可以隐藏这个元素,但是隐藏元素仍需占用与未隐藏时一样的空间,也就是说虽然元素不可见了,但是仍然会影响页面布局。

        2. visibility具有继承性,给父元素设置visibility:hidden;子元素也会继承这个属性。但是如果重新给子元素设置visibility: visible,则子元素又会显示出来;

        3. visibility: hidden不会影响计数器的计数;

        4. CSS3的transition支持visibility属性,但是并不支持display,由于transition可以延迟执行,因此可以配合visibility使用纯css实现hover延时显示效果。提高用户体验.

    6- less 的作用?Scss(sass),stylus 的作用.

         1. CSS 预处理器 : 是一种语言用来为 CSS 增加一些编程的的特性,无需考虑浏览器的兼容性问题,例如你可以在 CSS 中使用变量、简单的程序逻辑、函数等等在编程语言中的一些基本技巧,可以让 CSS  更见简洁,适应性更强,代码更直观等诸多好处;

        2. Sass : (Syntactically Awesome Stylesheets)是一种 动态样式语言,Sass 语法属于缩排语法,比 css 比多出好些功能(如变量、嵌套、运算,混入(Mixin)、继承、颜色处理,函数等),更容易阅读。

       3. Scss : (sassy css) ,Sass 的缩排语法,对于写惯 css 前端的 web 开发者来说很不直观,也不能将 css 代码加入到 Sass 里面,因此 sass 语法进行了改良,Sass 3 就变成了 Scss(sassy css)。与原来的语法兼容,只是用 {} 取代了原来的缩进。

       4. Less :也是一种 动态样式语言. 对 CSS 赋予了动态语言的特性,如变量,继承,运算, 函数.  Less 既可以在客户端上运行 (支持 IE 6+, Webkit, Firefox),也可在服务端运行 (借助 Node.js)。

    •  Sass / Scss与 Less , Stylus区别 :

    编译环境不一样 :

    Sass 的安装需要 Ruby 环境,是在服务端处理的,而 Less 是需要引入 less.js 来处理 Less 代码输出 css 到浏览器,也可以在开发环节使用 Less,然后编译成 css 文件,直接放到项目中,也有 Less.app、SimpleLess、CodeKit.app 这样的工具,也有在线编译地址。

    Sass 和 SCSS 区别 :

    SCSS 是 Sass 3 引入新的语法,其语法完全兼容 CSS3,并且继承了 Sass 的强大功能。Sass 和 SCSS 其实是同一种东西,我们平时都称之为 Sass,两者之间不同之处有以下两点:

        1. 文件扩展名不同,Sass 是以 “.sass” 后缀为扩展名,而 SCSS 是以 “.scss” 后缀为扩展名;
        2. 语法书写方式不同,Sass 是以严格的 缩进式语法规则 来书写,不带大括号 ({}) 和分号 (;),而 SCSS 的语法书写和我们的 CSS 语法书写方式非常类似。
  • 相关阅读:
    Queue——C#浅谈
    C#设计模式(7)——适配器模式
    test
    python 技巧
    在centos 配置python django环境 总结
    pyqt5 做的小程序,可以用来UI做个小demo
    python sqlalthemy 总结
    数据清理,预处理 pandas dataframe 操作技巧 总结
    对区块链看法
    hadoop spark 总结
  • 原文地址:https://www.cnblogs.com/Natural-numbers/p/14483361.html
Copyright © 2011-2022 走看看