• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > less基础

less基础

作者:qq_30960791的博客 字体:[增加 减小] 来源:互联网 时间:2017-09-04

本文主要包含javascript,css等相关知识,qq_30960791的博客希望在学习及工作中可以帮助到您

一款比较流行的css预处理语言,支持变量、混合、函数、嵌套、循环等特点
官网
中文网
http://www.w3cplus.com/css/less

概要

为什么要有预处理CSS

CSS基本上是设计师的工具,不是程序员的工具。在程序员的眼里,CSS是很头痛的事情,它并不像其它程序语言,比如说PHP、Javascript等等,有自己的变量、常量、条件语句以及一些编程语法,只是一行行单纯的属性描述,写起来相当的费事,而且代码难易组织和维护。

很自然的,有人就开始在想,能不能给CSS像其他程序语言一样,加入一些编程元素,让CSS能像其他程序语言一样可以做一些预定的处理。这样一来,就有了“CSS预处器(CSS Preprocessor)”。

什么是预处理CSS

- CSS语言的超集,比CSS更丰满

CSS预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为CSS增加了一些编程的特性,将CSS作为目标生成文件,然后开发者就只要使用这种语言进行编码工作。通俗的说,CSS预处理器用一种专门的编程语言,进行Web页面样式设计,然后再编译成正常的CSS文件,以供项目使用。CSS预处理器为CSS增加一些编程的特性,无需考虑浏览器的兼容性问题,例如你可以在CSS中使用变量、简单的逻辑程序、函数等等在编程语言中的一些基本特性,可以让你的CSS更加简洁、适应性更强、可读性更佳,更易于代码的维护等诸多好处。

CSS预处理器技术已经非常的成熟,而且也涌现出了很多种不同的CSS预处理器语言,比如说:Sass(SCSS)、LESS、Stylus、Turbine、Swithch CSS、CSS Cacheer、DT CSS等。如此之多的CSS预处理器,那么“我应该选择哪种CSS预处理器?”也相应成了最近网上的一大热门话题,在Linkedin、Twitter、CSS-Trick、知呼以及各大技术论坛上,很多人为此争论不休。相比过计我们对是否应该使用CSS预处理器的话题而言,这已经是很大的进步了。

到目前为止,在众多优秀的CSS预处理器语言中就属Sass、LESS和Stylus最优秀,讨论的也多,对比的也多。本文将分别从他们产生的背景、安装、使用语法、异同等几个对比之处向你介绍这三款CSS预处理器语言。相信前端开发工程师会做出自己的选择——我要选择哪款CSS预处理器。

1.希望以后的CSS中有变量的概念;
2.希望有嵌套语法;
3.希望有混合语法(类似函数)。

如何使用预处理Less**

less.js

网页运行阶段解析LESS文件

使用方式:

less compiler

开发阶段编译LESS文件成为CSS

使用方式:

安装
  • 安装Node.js
  • 安装less
    • 命令行执行:npm install -g less
编译操作

语法

注释

// 模板注释,这里的注释转换成CSS后将会删除
/* CSS 注释语法 转换为CSS后任然保留 */

4.less文件生成CSS文件,less文件的注释有两种, //这种注释生成css文件时会自动清除注释; /* */这种格式注释不会清除,故一般使用第一种注释。

定义变量

将需要重复使用或经常修改的值定义为变量,需要使用的地方引用

  • less
    less
    @变量名: 变量值;
    @bgColor: #f5f5f5;
    body{
    width: @变量名;
    background-color: @bgColor;
    }
  • css

    body{
    width: 变量值;
    background-color: #f5f5f5;
    }

嵌套

如果你在CSS中经常使用子代选择器,那LESS的嵌套语法使用起来非常Happy

  • less

    .container {
    width: @containerWidth;
    > .row {
      height: 100%;
      a{
        color: #f40;
        &:hover{
          color: #f50;
        }
      }
    }
    div {
      width: 100px;
      .hello {
        background-color: #00f;
      }
    }
    }
  • css

    .container {
    width: 1024px;
    }
    .container > .row {
    height: 100%;
    }
    .container > .row a {
    color: #f40;
    }
    .container > .row a:hover {
    color: #f50;
    }
    .container div {
    width: 100px;
    }
    .container div .hello {
    background-color: #00f;
    }

Mixin

/* 定义一个类 */
.roundedCorners(@radius: 5px) {
  -moz-border-radius: @radius;
  -webkit-border-radius: @radius;
  border-radius: @radius;
}
/* 定义的类应用到另个一个类中 */
#header {
  .roundedCorners;
}
#footer {
  .roundedCorners(10px);
}

Import

我们可以在开发阶段将样式放到多个文件中,最后通过@import 的方式合并

  • less

    // main.less
    @btnColor: red;
    @import url('_buttom.less');
    
    body{
    width: 1024px;
    }
    // _buttom.less
    .btn{
    color: @btnColor;
    }
  • css

    .btn{
    color: red;
    }
    body{
    width: 1024px;
    }

函数

内置函数
  • lighten:将一个颜色变亮
    • lighten(#000, 10%); // #1a1a1a
  • darken:将一个颜色变暗
    • darken(#000, 10%); // #e6e6e6
自定义函数等讲流行框架再写

安装NodeJS

您可能想查找下面的文章:

  • 使用JS配合CSS实现Windows Phone中的磁贴效果
  • 网页设计中HTML代码、CSS代码和javascript的技巧和细节
  • less基础
  • CSS vs. JS Animation: 哪个更快

相关文章

  • 2017-08-06详解CSS中的规则声明
  • 2017-08-06CSS Hack 区分 IE6 / IE7 /IE8 /Firefox
  • 2017-10-01CSS的三种使用方法
  • 2017-08-06css z-index层重叠顺序使用介绍
  • 2017-08-06CSS haslayout 彻底了解
  • 2017-08-06css li 去掉点的样式写法
  • 2017-08-06CSS Border属性solid(实线)使用介绍
  • 2017-08-06CSS定义的PNG透明效果兼容各浏览器
  • 2017-08-06CSS中几种浏览器对不同版本的支持与区分写法
  • 2017-08-06css 串联选择器和后代选择器介绍及示例

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • CSS3制作日历实现代码
    • IE7 position:relative的问题
    • 纯css实现的tab切换效果(使用锚点作为标记)
    • CSS对浏览器的兼容性技巧总结
    • css important终级讲解
    • 初探CSS3中的calc()功能
    • CSS实现HTML背景图片拉伸铺满示例
    • 用CSS指定外部链接的样式代码
    • 倾听色彩的声音 网页与产品的配色研究
    • 让div+css兼容所有浏览器的一些注意事项

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有