美文网首页
less简述

less简述

作者: 空一座旧城守我的旧人 | 来源:发表于2017-11-22 12:21 被阅读0次
什么是less?

一种 动态 样式 语言.

LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承, 运算, 函数. LESS 既可以在 客户端 上运行 (支持IE 6+, Webkit, Firefox),也可以借助Node.js或者Rhino在服务端运行(可以在node中进行编译)。

使用方法:

  1. 在页面中可以直接引入less文件,但是必须引入less.js对其进行客户端编译。一般在练习的时候可以这样引入,在开发中就不要使用这样的方式了,因为在客户端进行编译会大量的浪费性能,增加页面响应时间

  2. 利用gulp等工具对less进行编译,再项目中引入编译后的css文件

使用gulp搭建less编译环境
  1. 全局安装gulp

npm install gulp --global

  1. 在项目目录下进行 npm init创建package.json

  2. 下载gulp依赖包和gulp-less工具以及gulp-autoprefixer、gulp-clean-css工具

npm install gulp gulp-less gulp-autoprefixer gulp-clean-css --save-dev

  1. 创建gulpfile.js文件编写任务
var gulp = require("gulp")
var less = require("gulp-less")
//css 前缀兼容
var auto = require("gulp-autoprefixer")


gulp.task("compile:less",function(){
    gulp.src("./less/**/*.less")
        .pipe(less())
        .pipe(auto({
            grid:true,
            browsers:['last 2 versions']
        }))
        .pipe(gulp.dest('./css'))
})

gulp.task("watch",function () {
    gulp.watch("./less/**/*.less",['compile:less'])
})

gulp.task("default",['compile:less','watch'])

这样就可以在该项目中,执行gulp来开启监听less文件并编译的任务

使用LESS来实现栅格化布局框架

借助less预处理器与gulp自动化构建工具来实现响应式十二栅格化布局

  1. 定需求

利用三个阀值将屏幕尺寸分成四种类型:

阀值: 768-992-1200

类型: xs-sm-md-lg

栅格化数量:12

@screen1:768px;
@screen1:992px;
@screen1:1200px;
@gridnum:12;

栅格化类名与样式

container,container-fluid

row

col-type-num

// mixins

.width(@w:100%){
    width: @w;
    margin-left:auto; 
    margin-right:auto; 
}

.padding-content(@w:15px){
    padding-left: @w;
    padding-right: @w;
}

.clearfix{   
    &:after{
        content:'';
        display:block;
        height: 0;
        overflow: hidden;
        visibility: hidden;
        clear:both;
    }
}


// 0-768 xs
//container container-fluid

.container,.container-fluid{
    .width;
    .padding-content;
    .clearfix;
    .row{
        margin-left: -15px;
        margin-right: -15px;
        .clearfix;
    }
    .ghb(xs);
}


.visible-xs{display: block;}
.visible-sm{display: none;}
.visible-md{display: none;}
.visible-lg{display: none;}

.hidden-xs{display: none;}
.hidden-sm{display: block;}
.hidden-md{display: block;}
.hidden-lg{display: block;}



// 768-992 sm
//container container-fluid

@media screen and (min-width:@screen1){
    .container{
        .width(@screen1);
    }   
    .container,.container-fluid{
        .ghb(sm); 
    }

    .visible-xs{display: none;}
    .visible-sm{display: block;}
    .visible-md{display: none;}
    .visible-lg{display: none;}
    
    .hidden-xs{display: block;}
    .hidden-sm{display: none;}
    .hidden-md{display: block;}
    .hidden-lg{display: block;}
    

}


// 992-1200 md
//container container-fluid

@media screen and (min-width:@screen2){
    .container{
        .width(@screen2);
    }    
    .container,.container-fluid{
        .ghb(md); 
    }
    .visible-xs{display: none;}
    .visible-sm{display: none;}
    .visible-md{display: block;}
    .visible-lg{display: none;}
    
    .hidden-xs{display: block;}
    .hidden-sm{display: block;}
    .hidden-md{display: none;}
    .hidden-lg{display: block;}
}



// 1200- lg
//container container-fluid

@media screen and (min-width:@screen3){
    .container{
        .width(@screen3);
    }    
    .container,.container-fluid{
        .ghb(lg); 
    }

    .visible-xs{display: none;}
    .visible-sm{display: none;}
    .visible-md{display: none;}
    .visible-lg{display: block;}
    
    .hidden-xs{display: block;}
    .hidden-sm{display: block;}
    .hidden-md{display: block;}
    .hidden-lg{display: none;}
}






// .abc (@i:1) when (@i <= 100) {  
//     .a@{i}{
//         width: unit(@i,px);// number->pixel
//     }

//     .abc(@i+1);
// }
// .abc;



.ghb (@type,@i:0) when(@i<=@gridnum) {

    .col-@{type}-@{i}{
        width:@i/@gridnum*100%;
        float:left;
    }

    .col-@{type}-offset-@{i}{
        margin-left:@i/@gridnum*100%;
    }

    .ghb(@type,@i+1);
}



相关文章

  • less简述

    什么是less? 一种 动态 样式 语言. LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承, 运算,...

  • Less is More-Less框架简述

    大家在实践Scrum框架时,有时候会不会遇到一些棘手的问题但却找不到答案,尤其是在多个团队各自运作Scrum...

  • web前端学习线路图2

    十二、LESS教程 Less教程Less 安装Less 嵌套规则Less 操作Less 转义Less 函数 Les...

  • 关于组件库的主题定制

    简述 这篇博文主要讲解前端组件库主题定制相关内容,只限于Scss/Sass、Less两种样式预处理语言,这两种语言...

  • Vue.js配置less

    简述 由于Vue版本的更新,在开发Vue项目过程中,出现了一些问题;其中就有less配置的问题;下面我们来聊聊,v...

  • Vue项目使用less

    1 先下载less less-loader: npm i less less-loader -S 2 将less配...

  • vue使用less

    npm安装 less less-loader npm install --save less less-loade...

  • Less的使用

    Less使用 1.什么是less 2.less有什么用 3.怎么使用less 4.less批量生成代码 less简...

  • Sql-labs-page3

    less-38 (堆叠注入) 堆叠注入讲解 less-39 解题链接 less-40 less-41 less-...

  • 第十三周第一天笔记之less

    less知识 简书链接less使用总结:less基础知识less使用总结2:less使用总结 单位px,em,re...

网友评论

      本文标题:less简述

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