index.scss 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. // @import url(reset.css);
  2. @import './reset.scss';
  3. $a: red !default;
  4. $b: 30;
  5. $d: purple;
  6. // $ 定义变量 用于存储信息 可以重复使用
  7. // 存储的类型:字符串 数字 颜色 布尔值 null...
  8. /*
  9. 多行注释
  10. .sass .scss
  11. sass格式会省略花括号和分号 所以常用scss存储
  12. */
  13. /*
  14. 混合宏
  15. @mixin 声明
  16. @include 调用
  17. */
  18. @mixin border {
  19. // border-radius: 20px;
  20. border-bottom: 3px solid #ff0;
  21. }
  22. @mixin border1($a) {
  23. border-radius: $a + px;
  24. border-left: 3px solid #0f0;
  25. }
  26. @mixin border2($b: 50, $d: 5) {
  27. border-radius: $b + px;
  28. border-right: $d + px solid pink;
  29. }
  30. @mixin border3($x) {
  31. box-shadow: $x;
  32. }
  33. /*
  34. 继承
  35. 声明方式:已存在的基类
  36. .class{}/.xxx{}
  37. 调用:@extend
  38. */
  39. .vase {
  40. font-size: 20px;
  41. color: purple;
  42. }
  43. /*
  44. 占位符
  45. %placeholder
  46. 声明:%xxxx
  47. 调用:@extend
  48. */
  49. %ppp {
  50. color: #0f0;
  51. }
  52. /*
  53. 函数:
  54. @function 函数名(形参) { @return xx }
  55. #{函数名(实参)}px
  56. */
  57. @function getNumber($aa) {
  58. @return $aa * 2;
  59. }
  60. /*
  61. 操作符:
  62. +:前后单位必须统一
  63. -:前后需要空格
  64. *:只允许一个数值带单位
  65. /:在括号中进行运算 后面拼接单位
  66. 颜色:颜色值分段运算
  67. */
  68. .box {
  69. width: #{getNumber(300)}px;
  70. height: (800 / 2) + px;
  71. font-size: $b + px;
  72. border: 3px solid $a;
  73. background: #f00 + #ff0;
  74. // f00
  75. // ff0
  76. // ff0
  77. // @extend .vase;
  78. // @extend %ppp;
  79. // @include border;
  80. // @include border1(30);
  81. // @include border2;
  82. // @include border3(30px 40px 13px purple);
  83. }
  84. h1 {
  85. $c: blue !global;
  86. color: $c;
  87. }
  88. h2 {
  89. // color: $a !important;
  90. color: $c;
  91. }
  92. // ul {
  93. // overflow: hidden;
  94. // }
  95. // ul li {
  96. // float: left;
  97. // margin-left: 5px;
  98. // }
  99. // 1.标签嵌套
  100. // 2.伪类嵌套
  101. // 3.属性嵌套
  102. ul {
  103. overflow: hidden;
  104. li {
  105. float: left;
  106. margin-left: 5px;
  107. border-bottom: 2px solid #f00;
  108. a {
  109. color: #000;
  110. // font-size: 30px;
  111. // font-weight: bold;
  112. font: {
  113. size: 40px;
  114. weight: bold;
  115. }
  116. &:hover {
  117. color: red;
  118. }
  119. }
  120. }
  121. }