less 低成本高回报-带逻辑的层叠样式表

★变量

用@定义

@cg:green;
@cr:red;
@cy:yellow;

使用:

.passage{
    color:@cg;
    background-color:@cr;
    border-color:@yellow;
}

编译后:

.passage{
    color:green;
    background-color:red;
    border-color:yellow;
}

★运算

变量可以进行简单运算

★注释

/***********正常注释************/

//其他语言习惯注释 编译时去掉 只被保留在.less文件中

★任性!不想被编译

与其说任性不如说微软比较任性 即使再NB也必须迁就使用微软的庞大用户群 

有一些属性 比如滤镜(类似webkit中的opacity透明度)less不能识别 也可能以后会出现less识别不了的属性  需要处理

使用波浪线加一对单引号可以包含不想被编译的内容 如   ~’i do not want to get translated !’

★函数(混合1)

为类附加参数 

定义:

.border-radius(@radius:10px,@style:solid){

    -webkit-border-radius:@radius @style #313131;
    -moz-border-radius:@radius @style #313131;
    -o-border-radius:@radius @style #313131;
    -ms-border-radius:@radius @style #313131;
    border-radius:@radius @style #313131;

}

使用:

直接使用

.border-radius();//默认使用圆角10px, 样式直线

编译后:

.border-radius{

    -webkit-border-radius:10px solid #313131;
    -moz-border-radius:10px solid #313131;
    -o-border-radius:10px solid #313131;
    -ms-border-radius:10px solid #313131;
    border-radius:10px solid #313131;

}

或使用改变变量

.border-radius(30px, dashed);//使用圆角30px,样式虚线

编译后:

.border-radius{

    -webkit-border-radius:30px dashed #313131;
    -moz-border-radius:30px dashed #313131;
    -o-border-radius:30px dashed #313131;
    -ms-border-radius:30px dashed #313131;
    border-radius:30px dashed #313131;

}

★混合2

整个类的属性当做变量添加到新类中 并 附加其他属性

.img(@width:100px, @height:60px, @size:contain){
    
    width:@width;
    height:@height;
    background-repeat:no-repeat;
    background-size:@size;

}

使用

.img1{

    .img();
    
    background:url(…);

}

编译后:

.img1{

    width:100px;
    height:60px;
    background-repeat:no-repeat;
    background-size:contain;
    background:url(…);

}

★混合3

无键参数

//三个动画

@keyform ani1{
    …
}

@keyform ani2{
    …
}

@keyform ani3{
    …
}

//使用动画的三个类

.box1(ani1, @time:8s, @locus:linear){//使用动画1 轨迹直线
    animation:ani1 @time @locus infinite running;
}

.box2(ani2, @time:10s, @locus:ease){//使用动画2 轨迹先快后慢再快
    animation:ani1 @time @locus infinite running;
}

.box3(ani3, @time:20s, @locus:cubic-bezier(0.1,0.2,0.5,1)){//使用动画3 轨迹自定义贝塞尔曲线
    animation:ani1 @time @locus infinite running;
}

//——————————————————————

.box(@_, @time,@locus){
animation-name:@_;
}

使用

.i-box{

    .box(ani1,8s,linear);

}

即使用了box1的属性:动画1 轨迹直线 

值得注意 虽然.box中的@time和@locus在.box中没用 但必须加上 

如果@_没有匹配到 则会出现只有@time和@locus被编译

如下

.i-box{

   animation: 8s linear infinite running;//没有动画名 报错!!!

}

★嵌套

&表示父元素

.list{

    li{

list-style:none;
margin:0;
padding:0;

        a{

            font-size:#313131;opacity:0.5;

   &:hover{ opacity:1; }

        }

    }

}

编译后:

.list li{

    list-style:none;
    margin:0;
    padding:0;

}

.list li a{

    font-size:#313131;opacity:0.5;

}

.list li a:hover{

    opacity:1;

}

★超级懒B头顶称号arguments

@arguments可以代表所有参数

.box(@border-width:10px,@border-color:green,@border-line-style:solid){

    border:@arguments;

}

使用:

.box();或.box(20px);

★important的继承

加!important的类 其中包含的属性都会添加important属性 可以用作测试

【转】阿里云设计师就从[^-^]表情里挑了一个当LOGO!

 LOGO设计又有新套路!阿里云的新LOGO竟然是个表情

  阿里云新Logo一出,我伙呆的戏码又重新上演了!讲真,马云这个爸爸,我是认的,然而!阿里云push着咱家爸爸的大名,把新Logo“造”成这样,想知道爸爸同意吗?

阿里云设计师就从[^-^]这种表情里挑了一个当LOGO!

  阿里云新Logo,就是方括号内加一个小横线。刚一发布,对于仅有一面之缘的网友们来说,一种似曾相识的撞脸感扑面而来——貌似偶遇聊天必备的颜表情,只不过是从圆脸变成了方脸~

  先自行感觉一下↓↓↓

  新Logo长这样:
s

阿里云设计师就从[^-^]这种表情里挑了一个当LOGO!

  颜表情长这样:

  【不】圆脸:(>﹏<)方脸:[>﹏<]   【怀疑】圆脸:(→_→)方脸:[→_→]   【困】圆脸:( ̄o ̄) . z Z方脸:[ ̄o ̄]. z Z   【崇拜】圆脸:m( __ )m方脸:m[__]m   【我想想】 圆脸:(ˇˍˇ)方脸:[ˇˍˇ]   【无语】圆脸:( ̄. ̄)方脸:[ ̄. ̄]   感受到变“方”的颜表情的各种萌(cao)点了吗?但人家毕竟不是个表情,是Logo!Logo!Logo!好吧~ wu
阿里云设计师就从[^-^]这种表情里挑了一个当LOGO!

  来自官方的解释:新Logo中,“[]”代表计算,“—”代表流动的数据,计算和数据是现代社会的基础设施,因此“—”还是匀速运动的,无时无刻在创造着“无法计算的价值”~~~

  阿里云新Logo的元素对于敲代码的“工友”来说,简直再熟悉不过了:新Logo是从代码中的符号“[]”演绎而来——符合阿里云作为一家科技公司输出计算和数据技术能力、为生活为各行各业源源不断地赋能的初心,而这也是无国界的通用语言,能代表阿里云服务中国也服务全世界的未来创想!

阿里云设计师就从[^-^]这种表情里挑了一个当LOGO!

  尽管有点像“方”了的颜表情,但还是能感受到带有强烈的阿里巴巴DNA的“诗和远方”style,你们说呢?

  说一千道一万,感觉阿里云的新Logo还是跟各路盆友玩儿了一回深深的套路![= ̄ω ̄=]

css3属性小结

20160815 css3

border-radius 可以选两个值 3个值 4个值 分别表是左上右下/右上左下   左上/右上左下/右下 4个值为左上 顺时针

border-image使用必须知道边框图片的像素 不然不好用

background-size 宽高 cover contain

background-origin 表示背景的边界  padding-box内容中添加背景 border-box包含边框的添加背景 content-box在文本中添加背景

rgba hsla(色调 饱和度 明度 透明度alpha)

Gradients 

background: -webkit-linear-gradient(red, yellow);

text-shadow: 10px 10px #c6c6c6;

text-shadow: 10px 10px 5px #c6c6c6;第三个参数可以调节模糊度 越大越模糊 1px与原文本相同

box-shadow: 10px 10px 200px grey; 

例如卡片特效

.card {
    width: 250px;
height:250px;
border:1px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    text-align: center;
margin:50px;
}

overflow: hidden ;配合 text-overflow:ellipsis; 达到超出元素边界变为。。。的形式呈现 但貌似不支持中文字符?

如果在该元素的hover事件中加以下属性 会令其在鼠标经过显示隐藏的内容

word-break: keep-all;适合横向排列word-wrap: break-word;适合纵向排列           选一个

CSS3 2D Transform 

★jq的animate函数不支持transform属性

transform:translate(x,y) 可以’转换’元素的位置 相当于定位 基点亦在左上

scale() 或 sacle(x,y)可以缩放元素大小 基点为元素中心点   使用height width属性基点在左上

scale() 中的值如果是负值 会先翻转内容 再缩放

rotate(阿尔法);旋转 基点默认为左上 

transform-origin:left top;也可以设置transform旋转基点

skew() skewX() skewY() 绕X/Y轴旋转 基线为上边界 和 左边界

transition: width 2s;过度效果

resize 属性规定是否可由用户调整元素尺寸 none|both|horizontal|vertical;

nav-index 导航索引号