issues
search
Riunshow
/
NoteBook
人生不如意事十之九八,可与人言者并无二三
3
stars
0
forks
source link
enjoy
#24
Open
Riunshow
opened
3 years ago
Riunshow
commented
3 years ago
现场
websocket
docker 与 传统server 优劣势
部署 运维 发布等
scss/less等等高级特性
#### (1). 编译scss文件为css文件 ``` sass --style compressed test.scss test.css 即可生成压缩版的css文件,并且命名为test.css --style 后面可以有四个参数可选,分别为expanded、nested、compact、compressed ``` #### (2). 变量 1. 定义变量 ```scss $color1:#aeaeae; .div1{ background-color:$color1; } // ---------编译后 .div1 { background-color: #aeaeae; } /*# sourceMappingURL=test.css.map */ ``` 2. 希望某个在子选择器中定义的变量能够成为全局变量,可以使用!global关键字 ```scss #main { $width: 5em !global; width: $width; } #sidebar { width: $width; } ``` 3. 嵌套引用在其他编程语言中即是字符串插值,需要用#{}进行包裹: ```scss $left:left; .div1{ border-#{$left}-width:5px; } ``` 4. Sass中也是支持对于变量进行简单的计算 ```scss $left:20px; .div1{ margin-left:$left+12px; } p { // Plain CSS, no division font: 10px/8px; $width: 1000px; // Uses a variable, does division width: $width/2; // Uses a function, does division width: round(1.5)/2; // Uses parentheses, does division height: (500px/2); // Uses +, does division margin-left: 5px + 8px/2px; // In a list, parentheses don't count font: (italic bold 10px/8px); } ``` #### (3). 选择器 1. 嵌套 ```scss .div1{ .span1{ height: 12px; } .div2{ width: 16px; } } // 属性也可以嵌套,比如border-color属性 // border后面必须加上冒号 p { border: { color: red; } } ``` 2. 父元素引用 ```scss .div1{ &:hover{ cursor: hand; } } ``` #### (4). 代码重用 1. 继承, SASS允许一个选择器,继承另一个选择器。比如,现有class1: ```scss .class1{ font-size:19px; } .class2{ @extend .class1; color:black; } // 如果在class2后面有设置了class1的属性,那么也会影响class2 // Scss也是递归编译的 .class1{ font-size:19px; } .class2{ @extend .class1; color:black; } .class1{ font-weight:bold; } ``` #### (5). 引用外部css文件 1. 导入import ```scss @import "_test1.scss"; @import "_test2.scss"; @import "_test3.scss"; ``` 2. Mixin&Include ```scss // 使用@mixin命令,定义一个代码块 @mixin left { float: left; margin-left: 10px; } // 使用@include命令,调用这个mixin div { @include left; } ``` 3. 参数与缺省值 ```scss // 边距设置 @mixin common($value1,$value2,$defaultValue:12px){ display:block; margin-left:$value1; margin-right:$value2; padding:$defaultValue; } .class1{ font-size:16px; @include common(12px,13px,15px); } .class2{ font-size:16px; @include common(12px,13px); } // 浏览器前缀设置设置 // 一个mixin的实例,用来生成浏览器前缀 @mixin rounded($vert, $horz, $radius: 10px) { border-#{$vert}-#{$horz}-radius: $radius; -moz-border-radius-#{$vert}#{$horz}: $radius; -webkit-border-#{$vert}-#{$horz}-radius: $radius; } // 使用 #navbar li { @include rounded(top, left); } #footer { @include rounded(top, left, 5px); } ``` #### (6). 编程式方法 1. 流程控制 ```scss // 条件语句 // @if @else p { @if 1 + 1 == 2 { border: 1px solid; } @if 5 < 3 { border: 2px dotted; } } @if lightness($color) > 30% { background-color: #000; } @else { background-color: #fff; } // 循环语句 // for @for $i from 1 to 10 { .border-#{$i} { border: #{$i}px solid blue; } } // while $i: 6; @while $i > 0 { .item-#{$i} { width: 2em * $i; } $i: $i - 2; } // each @each $member in a, b, c, d { .#{$member} { background-image: url("/image/#{$member}.jpg"); } } ``` #### (7). 函数 1. 定义函数 ```scss @function double($n) { @return $n * 2; } #sidebar { width: double(5px); } ``` 2. 颜色函数, SASS提供了一些内置的颜色函数,以便生成系列颜色。 ```scss lighten(#cc3, 10%) // #d6d65c darken(#cc3, 10%) // #a3a329 grayscale(#cc3) // #808080 complement(#cc3) // #33c ``` 3. 其他一些内建函数 ####
css in js
#### (1). ####
css modules 如 vue style scoped 原理
#### (1). ####
tc39 提案相关, stage x 新语法
#### (1). ####
不同标准的js,打成npm包后 引入的时候 怎么兼容
#### (1). 兼容各个规范 ```js (function (global, factory) { if (typeof exports === 'object' && typeof module !== 'undefined') { // CommonJS、CMD规范检查 module.exports = factory() } else if (typeof define === 'function' && define.amd) { // AMD规范检查 define(factory) } else { // 浏览器注册全局对象 global.test = factory() } })(this, (function () { function say() { console.log('hello') } return { say } })) ``` ```html ``` ```js // node环境 const test = require('./test') test.say() ``` ####
现场
websocket
docker 与 传统server 优劣势
部署 运维 发布等
scss/less等等高级特性
#### (1). 编译scss文件为css文件 ``` sass --style compressed test.scss test.css 即可生成压缩版的css文件,并且命名为test.css --style 后面可以有四个参数可选,分别为expanded、nested、compact、compressed ``` #### (2). 变量 1. 定义变量 ```scss $color1:#aeaeae; .div1{ background-color:$color1; } // ---------编译后 .div1 { background-color: #aeaeae; } /*# sourceMappingURL=test.css.map */ ``` 2. 希望某个在子选择器中定义的变量能够成为全局变量,可以使用!global关键字 ```scss #main { $width: 5em !global; width: $width; } #sidebar { width: $width; } ``` 3. 嵌套引用在其他编程语言中即是字符串插值,需要用#{}进行包裹: ```scss $left:left; .div1{ border-#{$left}-width:5px; } ``` 4. Sass中也是支持对于变量进行简单的计算 ```scss $left:20px; .div1{ margin-left:$left+12px; } p { // Plain CSS, no division font: 10px/8px; $width: 1000px; // Uses a variable, does division width: $width/2; // Uses a function, does division width: round(1.5)/2; // Uses parentheses, does division height: (500px/2); // Uses +, does division margin-left: 5px + 8px/2px; // In a list, parentheses don't count font: (italic bold 10px/8px); } ``` #### (3). 选择器 1. 嵌套 ```scss .div1{ .span1{ height: 12px; } .div2{ width: 16px; } } // 属性也可以嵌套,比如border-color属性 // border后面必须加上冒号 p { border: { color: red; } } ``` 2. 父元素引用 ```scss .div1{ &:hover{ cursor: hand; } } ``` #### (4). 代码重用 1. 继承, SASS允许一个选择器,继承另一个选择器。比如,现有class1: ```scss .class1{ font-size:19px; } .class2{ @extend .class1; color:black; } // 如果在class2后面有设置了class1的属性,那么也会影响class2 // Scss也是递归编译的 .class1{ font-size:19px; } .class2{ @extend .class1; color:black; } .class1{ font-weight:bold; } ``` #### (5). 引用外部css文件 1. 导入import ```scss @import "_test1.scss"; @import "_test2.scss"; @import "_test3.scss"; ``` 2. Mixin&Include ```scss // 使用@mixin命令,定义一个代码块 @mixin left { float: left; margin-left: 10px; } // 使用@include命令,调用这个mixin div { @include left; } ``` 3. 参数与缺省值 ```scss // 边距设置 @mixin common($value1,$value2,$defaultValue:12px){ display:block; margin-left:$value1; margin-right:$value2; padding:$defaultValue; } .class1{ font-size:16px; @include common(12px,13px,15px); } .class2{ font-size:16px; @include common(12px,13px); } // 浏览器前缀设置设置 // 一个mixin的实例,用来生成浏览器前缀 @mixin rounded($vert, $horz, $radius: 10px) { border-#{$vert}-#{$horz}-radius: $radius; -moz-border-radius-#{$vert}#{$horz}: $radius; -webkit-border-#{$vert}-#{$horz}-radius: $radius; } // 使用 #navbar li { @include rounded(top, left); } #footer { @include rounded(top, left, 5px); } ``` #### (6). 编程式方法 1. 流程控制 ```scss // 条件语句 // @if @else p { @if 1 + 1 == 2 { border: 1px solid; } @if 5 < 3 { border: 2px dotted; } } @if lightness($color) > 30% { background-color: #000; } @else { background-color: #fff; } // 循环语句 // for @for $i from 1 to 10 { .border-#{$i} { border: #{$i}px solid blue; } } // while $i: 6; @while $i > 0 { .item-#{$i} { width: 2em * $i; } $i: $i - 2; } // each @each $member in a, b, c, d { .#{$member} { background-image: url("/image/#{$member}.jpg"); } } ``` #### (7). 函数 1. 定义函数 ```scss @function double($n) { @return $n * 2; } #sidebar { width: double(5px); } ``` 2. 颜色函数, SASS提供了一些内置的颜色函数,以便生成系列颜色。 ```scss lighten(#cc3, 10%) // #d6d65c darken(#cc3, 10%) // #a3a329 grayscale(#cc3) // #808080 complement(#cc3) // #33c ``` 3. 其他一些内建函数 ####css in js
#### (1). ####css modules 如 vue style scoped 原理
#### (1). ####tc39 提案相关, stage x 新语法
#### (1). ####不同标准的js,打成npm包后 引入的时候 怎么兼容
#### (1). 兼容各个规范 ```js (function (global, factory) { if (typeof exports === 'object' && typeof module !== 'undefined') { // CommonJS、CMD规范检查 module.exports = factory() } else if (typeof define === 'function' && define.amd) { // AMD规范检查 define(factory) } else { // 浏览器注册全局对象 global.test = factory() } })(this, (function () { function say() { console.log('hello') } return { say } })) ``` ```html ``` ```js // node环境 const test = require('./test') test.say() ``` ####