博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
less 项目实战
阅读量:6606 次
发布时间:2019-06-24

本文共 5827 字,大约阅读时间需要 19 分钟。

1.注释

less 的注释有两种方法,"/**/" 和 "//",前一种会在 css 文件中显示,后一种不会在 css 显示。

2.定义变量的方法:"@"加上变量名。

@tabbarActiveColor:#26a2ff;

3.运算

@height: 30px;height: @height; // 30pxline-height: @height - 1; // 29px

4.继承  &

"&"符号,这个符号起到继承的作用,这个符号就是它的父级标签(类,id等等)。

.industry-section {    width: 950px;    margin-right: auto;    margin-left: auto;    & > div:not(.heading) {        padding: 40px 150px;        & h3 {            font-size: @fs + 12;            margin-bottom: .5rem;        }        & li {            font-size: @fs + 2;            line-height: 1.6;        }    }    }

相当于

.industry-section {  width: 950px;  margin-right: auto;  margin-left: auto;}.industry-section > div:not(.heading) {  padding: 40px 150px;}.industry-section > div:not(.heading) h3 {  font-size: 28px;  margin-bottom: .5rem;}.industry-section > div:not(.heading) li {  font-size: 18px;  line-height: 1.6;}

5.混合

混合可以将一个定义好的class A轻松的引入到另一个class B中,从而简单实现class B继承class A中的所有属性。我们还可以带参数地调用,就像使用函数一样。

classA

.page-width {        width: 100%;    max-width: 1920px;    margin-right: auto;    margin-left: auto;}

classB

body {    .page-width;  // classB    font-size: @fs;    color: @text-color;    background-color: #fff;    font-family: "Microsoft Yahei", Arial, sans-serif;}

6.媒体查询

.application-section {    max-width: 100%;    width: 1920px;    height: 770px;    margin: 30px auto;    background: url(../images/app-scene.png) center top no-repeat;    position: relative;    & h2 {        position: absolute;        top: 70px;        left: 50%;                font-size: 0;        width: 1200px;        transform: translateX(-50%);        @media (max-width: 1600px) {            width: 1000px;            & span {                font-size: @fs + 20;            }        }    }}

7.mixins  混合

// 定义一个样式选择器  .borderRadius(@radius){       -moz-border-radius: @radius;       -webkit-border-radius: @radius;       border-radius: @radius;   }    // 使用已定义的样式选择器  #header {       .borderRadius(10px); // 把 10px 作为参数传递给样式选择器  }   .btn {       .borderRadius(3px);// // 把 3px 作为参数传递给样式选择器}

默认值

.borderRadius(@radius:5px){       -moz-border-radius: @radius;       -webkit-border-radius: @radius;       border-radius: @radius;   }   .btn {       .borderRadius();   }

8.function

less 包含许多内置函数

/*把像素转成rem  375/10  = 37.5  375 它是ipone6的屏幕宽度  注:将屏幕分成10等份,10rem为屏幕宽度  例如:  .slide-pages {    position: absolute;    .bottom(10);    .right(15);  }*/.fs(@px){  font-size: unit(@px/37.5,rem);}.w(@px){  width: unit(@px/37.5,rem);}.h(@px){  height: unit(@px/37.5,rem);}.lh(@px){  line-height: unit(@px/37.5,rem);}.pl(@px){  padding-left: unit(@px/37.5,rem);}.pr(@px){  padding-right: unit(@px/37.5,rem);}.pt(@px){  padding-top: unit(@px/37.5,rem);}.pb(@px){  padding-bottom: unit(@px/37.5,rem);}.mt(@px){  margin-top:unit(@px/37.5,rem);;}.mb(@px){  margin-bottom:unit(@px/37.5,rem);}.ml(@px){  margin-left:unit(@px/37.5,rem);}.mr(@px){  margin-right:unit(@px/37.5,rem);}.top(@px){  top:unit(@px/37.5,rem);}.bottom(@px){  bottom:unit(@px/37.5,rem);}.left(@px){  left:unit(@px/37.5,rem);}.right(@px){  right:unit(@px/37.5,rem);}.padding(@tb,@lr){  padding: unit(@tb/37.5,rem) unit(@lr/37.5,rem);;}.fl{  float: left;}.fr{  float: right;}.clearfix{  clear: both;}

自定义

variable.less

/*把像素转成rem  375/10  = 37.5  375 它是ipone6的屏幕宽度  注:将屏幕分成10等份,10rem为屏幕宽度  例如:  .slide-pages {    position: absolute;    .bottom(10);    .right(15);  }*/// 字号.fs(@px){  font-size: unit(@px/36,rem);  [data-dpr='2'] & {    font-size: unit(@px/36,rem) * 2;  }  [data-dpr='3'] & {    font-size: unit(@px/36,rem) * 3;  }}// 宽度.w(@px){  width: unit(@px/36,rem);}// 高度.h(@px){  height: unit(@px/36,rem);}// 行高.lh(@px){  line-height: unit(@px/36,rem);}// 内边距.pl(@px){  padding-left: unit(@px/36,rem);}.pr(@px){  padding-right: unit(@px/36,rem);}.pt(@px){  padding-top: unit(@px/36,rem);}.pb(@px){  padding-bottom: unit(@px/36,rem);}.p2(@ptb,@prl){  padding: unit(@ptb/36,rem) unit(@prl/36,rem);}.p3(@pt,@pm,@pb){  padding: unit(@pt/36,rem) unit(@pm/36,rem) unit(@pb/36,rem);}.p4(@pt,@pr,@pb,@pl){  padding: unit(@pt/36,rem) unit(@pr/36,rem) unit(@pb/36,rem) unit(@pl/36,rem);}// 外边距.mt(@px){  margin-top:unit(@px/36,rem);;}.mb(@px){  margin-bottom:unit(@px/36,rem);}.ml(@px){  margin-left:unit(@px/36,rem);}.mr(@px){  margin-right:unit(@px/36,rem);}.m2(@mtb,@mrl){  margin:unit(@mtb/36,rem) unit(@mrl/36,rem);}.m3(@mt,@mm,@mb){  margin:unit(@mt/36,rem) unit(@mm/36,rem) unit(@mb/36,rem);}.m4(@mt,@mr,@mb,@ml){  margin:unit(@mt/36,rem) unit(@mr/36,rem) unit(@mb/36,rem) unit(@ml/36,rem);}.ma(@mt,@mb){  margin:unit(@mt/36,rem) auto unit(@mb/36,rem);}// 距离.t(@px){  top:unit(@px/36,rem);}.b(@px){  bottom:unit(@px/36,rem);}.l(@px){  left:unit(@px/36,rem);}.r(@px){  right:unit(@px/36,rem);}// 浮动.fl{  float: left;}.fr{  float: right;}// 清除浮动.clearfix{  clear: both;}// 圆角.br(@px){  border-radius: unit(@px/36,rem);}// 背景.bs(@width,@height){  background-size:unit(@width/36,rem) unit(@height/36,rem);}.bp(@left,@top){  background-position:unit(@left/36,rem) unit(@top/36,rem);}// 边框.b(@px,@type,@color){  border: unit(@px/36,rem) @type @color;}/** * 解决1px问题 */// 顶部.border-top-1px(@color) {  position: relative;  &:after {    display: block;    position: absolute;    left: 0;    bottom: 0;    width: 100%;    border-bottom: 1px solid @color;    content: ' ';  }}// 底部.border-bottom-1px(@color) {  position: relative;  &:after {    display: block;    position: absolute;    left: 0;    bottom: 0;    width: 100%;    border-bottom: 1px solid @color;    content: ' ';  }}

9.继承  extend

.animal{  color: #fff;}/* 语法1:
:extend(
){} */.bear:extend(.animal){  width: 100px;  height: 100px;}/* 语法2:
{ &:extend(
); } */.deer{  &:extend(.animal);  width: 50px;  height: 50px;}

10.引入  @import

@import "main.less";

.

转载于:https://www.cnblogs.com/crazycode2/p/7932094.html

你可能感兴趣的文章
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
查看>>
python的对象的属性(即对象的成员)是动态的
查看>>
南邮CTF--SQL注入题
查看>>
三种数据库访问——Spring3.2 + Hibernate4.2
查看>>
datasg中的数据的存储结
查看>>
iOS 多线程 之 GCD(大中枢派发)(一)
查看>>
hdu 1180 诡异的楼梯
查看>>
单片机GPIO口模拟串口的方法
查看>>
[记]SAF 中缓存服务的实现
查看>>
pstool 的使用方法
查看>>
Email - Boss's concerns
查看>>
余世维 - 有效沟通
查看>>
mysql用户与权限管理笔记
查看>>
a里面不能嵌套a
查看>>
Myeclipse中打开接口实现类的快捷键
查看>>
浅谈React数据流管理
查看>>
orcale 之pl/sql例外
查看>>
<20190516> 一次比较糟糕的售后维修体验(某硕主板)
查看>>
iOS网络篇2-http协议通信规则
查看>>
删除sql dump中的AUTO_INCREMENT
查看>>