ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

适合新手前端学习资料(第十四天)

2020-12-24 21:32:44  阅读:176  来源: 互联网

标签:box flex color 前端 第十四天 radius 新手 对齐 border


文章目录

弹性盒子和预处理

弹性盒子

  • 弹性盒子是CSS3的一种新的布局模式。

    引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行 排列、对齐和分配空白空间。

  • display

    • flex

    • inline-flex

    • 设置flex布局后,子元素的float、clear和vertical-align属性将失效

      • .box{ display: flex; }
        .box{ display: inline-flex; }
        
  • 容器属性(设置在父元素上面)

    • flex-direction 决定主轴的方向(即项目的排列方向)
      • row (默认值):主轴为水平方向,起点在左端。
      • row-reverse:主轴为水平方向,起点在右端。
      • column:主轴为垂直方向,起点在上沿。
      • column-reverse:主轴为垂直方向,起点在下沿。
    • justify-content 定义了项目在主轴上的对齐方式
      • flex-start (默认值):左对齐。
      • flex-end:右对齐。
      • center: 居中。
      • space-between:两端对齐,项目之间的间隔都相等。
      • space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的 间隔大一倍
      • space-evenly : 所有间隔都相等,包括项目与项目,项目与边框。
    • align-items 定义项目在交叉轴上如何对齐
      • flex-start:交叉轴的起点对齐。
      • flex-end:交叉轴的终点对齐。
      • center:交叉轴的中点对齐。
    • flex-wrap 默认情况下,项目都排在一条线(又称”轴线”)上。flex-wrap属性定义,如果一 条轴线排不下,如何换行。
      • nowrap (默认):不换行。
      • wrap:换行,第一行在上方。
      • wrap-reverse:换行,第一行在下方。
  • 项目属性 (设置在子元素上面)

    • order 定义项目的排列顺序。数值越小,排列越靠前,默认值为0
      • 〈integer〉:数值
    • flex-grow 定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
      • 〈number〉: 数值
    • flex-shrink 定义项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
      • 〈number〉: 数值
    • align-self 定义弹性容器内被选中项目的对齐方式,和弹性容器的align-items属性作用相同, 此属性用于项目。
      • auto 默认值。元素继承了它的父容器的align-items属性。如果没有父容器 则为"stretch"。
      • stretch占满整个容器的髙度。自身不设置固定高度
      • center交叉轴的中点对齐。
      • flex-start 交叉轴的起点对齐。
      • flex-end 交叉轴的终点对齐。
      • baseline 项目的第一行文字的基线对齐。

预处理

  • 预处理编译工具koala

    • http://koala-app.com/index-zh.html
  • Less基本语法

    • 注释

      • less共有两种注释风格。
        • 标准的CSS注释/* comment */ ,会保留到编译后的文件。
        • 单行注释// comment,只保留在less源文件中,编译后被省略。
    • import导入样式

      • 引入.css文件同于css的import命令。

        @import “reset.css”;

    • 变量

      • LESS允许开发者自定义变量,变量可以在全局样式中使用,变量使得样式修改起来 更加简单。

      • 变量以@开头,变量名与变量值之间用【冒号】分隔

        @color:red;
        div {
        color: @color;
        }

        
        
      • 变量嵌套在字符串中使用时,必须写在@{}中

        @side:left;
        .box {
        border-@{side}-width:5px;
        }

        
        
    • 混入

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

      • 调用class

        .border {
        border: 2px solid red;
        }
        #box {
        color:blue;
        .border;
        }

        
        
      • 混入参数-未设置默认值,此时调用必须传入参数

        .border-radius(@radius) {
        border-radius: @radius;
        -moz-border-radius: @radius;
        -webkit-border-radius: @radius;
        }

        
        
      • 混入参数-设置了默认值

        .border-radius(@radius:5%) {
        border-radius: @radius;
        -moz-border-radius: @radius;
        -webkit-border-radius: @radius;
        }

        
        
      • 使用@arguments来引用所有传入的变量

        .box-shadow(@x:0, @y:0, @blur:1px, @color:#000){
        box-shadow:@arguments;
        -moz-box-shadow:@arguments;
        -webkit-box-shadow:@arguments;
        }

        
        
    • 嵌套

      • 选择器嵌套

      div {
      width: 300px;
      height: 300px;
      background-color: red;
      .box {
      color: blue;
      span {
      margin-bottom: 10px;
      }
      }
      }

      
      
    • 继承

      .public {
      width: 300px;
      height: 300px;
      }

      // div .box {
      // &:extend(.public);
      // background-color: red;
      // }
      div .box:extend(.public) {
      background-color: blue;
      }

      
      
    • 运算

      .box {
      width: 200px*3-50px;
      }

      
      
      
      

标签:box,flex,color,前端,第十四天,radius,新手,对齐,border
来源: https://blog.csdn.net/Beckoning_/article/details/111656683

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有