标签:样式 order port 1.5 sas 禁用 use tom 没有
在 normalize.css 的基础上进行了一层包装而成的。
进行全局的样式重置
@reset-global pc;
在选择器内进行常用元素的样式重置
.table {
@reset-nested tabel;
}
.table th,
.table td {
@reset-nested tabel-cell;
}
ul, ol {
@reset-nested list;
}
.regular-font {
@reset-nested font;
}
.box {
@reset-nested boxModel;
}
/* Before */
@import "partials/base"; /* Contents of partials/_base.css: `body { background: black; }` */
/* After */
body { background: black; }
a, b {
color: red;
& c, & d {
color: white;
}
& & {
color: blue;
}
&:hover {
color: black;
}
@media (min-width: 30em) {
color: yellow;
@media (min-device-pixel-ratio: 1.5) {
color: green;
}
}
}
转化为
a, b {
color: red;
}
a c, a d, b c, b d {
color: white;
}
a a, b b {
color: blue;
}
a:hover, b:hover {
color: black;
}
@media (min-width: 30em) {
a, b {
color: yellow;
}
}
//下面这个转化结果应该是有问题
@media (min-width: 30em) and (min-device-pixel-ratio: 1.5) {
color: green;
}
p:matches(:first-child, .special) {
color: red;
}
p:not(:first-child, .special) {
color: red;
}
转化为
p:first-child, p.special {
color: red;
}
p:not(:first-child), p:not(.special) {
color: red;
}
/* before */
.notice--clear {
@if 3 < 5 {
background: green;
}
@else {
background: blue;
}
}
/* after */
.notice--clear {
background: green;
}
@custom-selector :--heading h1, h3, h3, h4, h5, h6;
article :--heading + p {
margin-top: 0;
}
转化为
article h1 + p,
article h3 + p,
article h3 + p,
article h4 + p,
article h5 + p,
article h6 + p {
margin-top: 0;
}
/* before */
@for $i from 1 to 3 {
.b-$i { width: $(i)px; }
}
/* after */
.b-1 {
width: 1px
}
.b-2 {
width: 2px
}
.b-3 {
width: 3px
}
设置变量
:root {
--color: red;
}
div {
color: var(--color);
}
$blue: #056ef0;
$column: 200px;
.menu {
width: calc(4 * $column);
}
.menu_link {
background: $blue;
width: $column;
}
/* after */
.menu {
width: calc(4 * 200px);
}
.menu_link {
background: #056ef0;
width: 200px;
}
内部变量
/* Before */
.heading {
margin: 20px;
padding: @margin;
}
/* After */
.heading {
margin: 20px;
padding: 20px;
}
提供了 size 属性来将 width 和 height 两个属性的值写在一起。
.icon {
size: 48px;
}
转化为
.icon {
width: 48px;
height: 48px;
}
我们可以在 position 的属性值之后以顺时针的顺序来接着编写 top、right、bottom、left 这几个值。其中如果不需要声明的属性我们可以用 “*” 号来跳过。
.banner {
position: fixed 0 0 *;
}
转化为
.banner {
position: fixed;
top: 0;
right: 0;
left: 0;
}
可以接受两个值,这样我们可以同时将 color 和 background-color 的值写在一起
.canvas {
color: #abccfc #212231;
}
转化为
.canvas {
color: #abccfc;
background-color: #212231;
}
可以接受两个值,这样我们可以同时将 font-size 和 line-height 的值写在一起
.heading {
font-size: 1.25em 2;
}
转化为
.heading {
font-size: 1.25em;
line-height: 2;
}
允许我们以顺时针的顺序来同时编写 top、right、bottom、left 这几个 border 的值。
.container {
border: 1px 2px #343434;
}
转化为
.container {
border-width: 1px 2px;
border-color: #343434;
}
通过 rect 属性来声明一个矩形。
rect: [width] [height] [background-color]
.rect-a {
rect: 30px 50px #ff0;
}
.rect-b {
rect: 30px * #ff0;
}
转化为
.rect-a {
width: 30px;
height: 50px;
background-color: #ff0;
}
.rect-b {
width: 30px;
background-color: #ff0;
}
通过 circle 属性来声明一个圆形。
circle: [diameter] [background-color]
.circle-a {
circle: 50px #ff0;
}
.circle-b {
circle: 50px *;
}
转化为
.circle-a {
width: 50px;
height: 50px;
border-radius: 50%;
background-color: #ff0;
}
.circle-b {
width: 50px;
height: 50px;
border-radius: 50%;
}
通过 triangle 属性来绘制一个等腰直角三角形。
triangle: [size] [direction] [color]
size:高
.triangle-a {
triangle: 5px top #ff0;
}
转化为
.triangle-a {
display: inline-block;
width: 0;
height: 0;
border: solid transparent;
border-width: 5px;
border-bottom-color: #ff0;
}
@custom-media --small-viewport (max-width: 30em);
@media (--small-viewport) {
/* styles for small viewport */
}
转化为
@media (max-width: 30em) {
/* styles for small viewport */
}
网格容器和网格(有间隙)
.grid-row-fluid {
@neat-outer-container;
}
.grid-col-6 {
@neat-span-columns 6;
}
转化为
.grid-row-fluid{
max-width:64em;
margin-left:auto;
margin-right:auto;
*zoom:1;
}
.grid-row-fluid:before, .grid-row-fluid:after{ content:" "; display:table; }
.grid-row-fluid:after{ clear:both; }
.grid-col-6{
display:block;
float:left;
margin-right:2.35765160%;
width:48.82117420%;
}
.grid-col-6:last-child{ margin-right:0; }
多行网格中可以使用 @neat-omega; 来声明该列是当前行的最后一列。但要注意的是,在没有带值的情况下,其只是简单地给该列设置 margin-right: 0; 来移除右侧的间距。
table式网格中,每一列之间是没有间隔的。
文本超长溢出省略号,如果参数 rows 省略,则默认解析为单行溢出,如果传入 rows 参数,则会被解析为多行溢出省略
IE和火狐有兼容性问题
.ellipsis {
@utils-ellipsis;
}
.ellipsis2 {
@utils-ellipsis 3;
}
转化为
.ellipsis {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.ellipsis2 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
}
建立 BFC 清除元素内部的浮动,使元素获得应有的高度。
防止了坍塌和浮动
.clearfix {
@utils-clearfix;
}
转化为
.clearfix {
}
.clearfix:before,
.clearfix:after {
display: table;
content: "";
}
.clearfix:after {
clear: both
}
在元素中隐藏文字
.irt {
@utils-irt;
}
转化为
.irt {
font: 0/0 none;
text-shadow: none;
color: transparent;
}
设定页面元素文本是否可供选择
@utils-user-select [none|text]
.usn {
@utils-user-select none;
}
转化为
.usn {
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
设定元素在 disabled(禁用) 状态时的 ui 状态
@utils-disabled [background-color] [border-color] [color];
.disabled {
@utils-disabled #ccc #f00 #333;
}
转化为
.disabled {
background-color: #ccc;
border-color: #f00;
color: #333;
cursor: default;
pointer-events: none;
}
利用伪元素的方式,让子元素实现垂直居中
.vam-box {
@utils-vertical-center;
}
转化为
.vam-box {
vertical-align: middle //例子中遗漏了?
}
.vam-box:after {
display: inline-block;
content: "";
height: 100%;
vertical-align: middle
}
/* before */
@define-mixin icon $name {
padding-left: 16px;
&::after {
content: "";
background-url: url(/icons/$(name).png);
}
}
.search {
@mixin icon search;
}
/* after */
.search {
padding-left: 16px;
}
.search::after {
content: "";
background-url: url(/icons/search.png);
}
@define-extend bg-green {
background: green;
}
.notice--clear {
@extend bg-green;
}
/* after */
.notice--clear {
background: green;
}/* before */
@define-extend bg-green {
background: green;
}
.notice--clear {
@extend bg-green;
}
/* after */
.notice--clear {
background: green;
}
标签:样式 order port 1.5 sas 禁用 use tom 没有
原文地址:https://www.cnblogs.com/qq3279338858/p/8870573.html