多列、弹性盒子和预处理

一、文本多列布局:column

(1) column-width:每一栏的宽度

         栏的数目:默认随总大小的变化而变化

(2)column-count:设置的总栏数

         默认的宽度,随总宽度变化而变化

(3)column-gap:栏与栏之间的宽度

         影响每栏的宽度

(4)column-rule:分隔线

         column-rule-color:分隔线的颜色

         column-rule-width:分隔线的宽度

         column-rule-style:分隔线的样式

         column-rule:color width style

注意:分隔线不占位,不会对周边有影响

(5)column-span:栏的合并

          1:占一栏

         all:占所有栏(合并栏)

(6)兼容问题:(www.caniuse.com搜索)

IE9及以下版本不支持,其他低版本现代浏览器的兼容,需在原本代码基础上加再加一行或多行前缀。

二、弹性盒子

(1)概念:

 一种新布局模式。对子元素进行布局,排列,对其以及空白区域的分配。

弹性盒:弹性盒容器

弹性盒的元素:弹性盒项目

(2)方式:

块级弹性盒:  display:flex(从上往下一列排列)

行级弹性盒: display: inline-flex(从左往右一行排列)

主要区别:容器与容器之间的摆放,容器内部布局相互之间不受影响

(3)主轴与侧轴

主轴:子元素布局中的第一排列方向

侧轴:子元素布局排列的第二方向

(4)主轴的方向:flex-direction

                              row:从左往右(默认)

                             row-reverse:从右往左

                             column:从上往下

                             column-reverse:从下往上

(5)主轴元素的对齐方式:justify-content

                             flex-strat:起点对齐

                        flex-end:终点对齐

                            center:居中对齐(默认没有间隙)

                            space-arround:四周都空白(中间元素空白相等,最两边空白宽度是中                                间的一半)

                            space-evenly:四周都空白(所有空白宽度都相等,平分宽度)

                            space-between:中间有空白(子元素中间所有空白宽度相等,最两边没有空                                   白)

(6)侧轴对齐方式:align-items

                               flex-start:侧轴起点对齐

                               flex-end:侧轴终点对齐

                              center:侧轴居中对齐

                              baseline:内容基线对齐

                              stretch:当子项没有设置高度时,拉伸子项高度,占满整个容器

(7)是否换行:flex-wrap

                              nowrap:不换行

                             wrap:正常换行

                             wrap-reverse:反转换行(上下反转)

(8)侧轴内容对齐方式:align-content (和主轴对齐方式justify-content一样)

(9)align-self:侧轴子元素,单独设置自己的对齐方式(在弹性盒项目中设置)

(10)弹性盒项目排序的权重:order(在弹性盒项目中设置)

                            弹性盒项目默认值为0

                           权重越大,排列越靠后

                           order的值可以为负数

                          当值相同时,根据HTML结构排列

(11)扩张比率:flex-grow(剩余的空白区域)

1.默认值为0

2.计算(eg):

                          总大小:500px

                          项目:50*3=150

                          剩余空间:500-150=350

                          扩展总比率(项目的扩展比率相加):4            

                          1份扩展比率占:350/4=87.5px

(12)收缩比率:flex-shrink(放不下最基础的大小时收缩)

1.默认值为1

2.计算(eg):

                          总大小:400px

                          项目:150*3=450px

                          缺空间:450-400=50px

                          收缩比率总和:3+2+2=7

                          1份收缩比率占:50/7=7.1428px

(13)基准值:flex-basis(当前项目默认宽度)

                          超过基准值总和       扩张

                          少于基准值总和       收缩

(14)设置垂直布局时,需要头部脚部固定,中间自适应,注意需将body和html的height设置为100%。

三、Less

(1)概念:编程语言,CSS预处理器语言,它包含一套自定义的语法及一个解析器,用户根据这些语法定义自己的样式规则,这些规则最终会通过解析器,编译生成对应的CSS文件,只有在被编译后才能够被浏览器识别使用。除Less外,还有Sass。

(2)编译器:Koala

(3)运用(在.less文件中)

1.

/*

这是Less注释,会映射到CSS文件中

*/

2.

// 这是Less注释,但不会映射到CSS文件中

3.文件导入

导入CSS,会直接在CSS文件中添加导入语句

                         @import "04.css";

 导入Less,则会将Less文件中的内容编译后,导入CSS文件中

                          @import "05.less;

4.变量

变量的定义

@变量的名称:变量的值

                         例如:

                                   @LightColor:red;

                                   @LayoutWidth:1200px;

                                   @LightFontSize:30px;


@变量的使用:@变量名称

                         在字符串中使用@{变量名称}

                                例如:

                                             li{

                                                  color:@LightColor;

                                                  border-color:@LightColor ;

                                                 font-size: @LightFontSize;

                                              }

5.代码混入

a.无参数的混入

例如:      .clearMagin{

                                 margin-left:0px;

                                 margin-right: 0px;

                                 border:none;

                                 outline: none;

                                }

                        ul{

                                 .clearMagin;

                           }

b.有参数的混入

例如

                        .clearNumber(@num) {

                                                           margin-right: @num;

                                                            margin-left: @num;

                                                           }

                                                     ol{

                                                              .clearNumber(10px);

                                                         }

                                                       p{

                                                               .clearNumber(20px);

                                                           }


c.参数有默认值

1.当使用时,没有参数, 混入内部使用默认值

2. 当使用时, 带有参数, 混入内部使用传递过来的参数

例如:               .clearNumberT(@num:5px)

                                                       {

                                                             margin-right: @num;

                                                             margin-left: @num;

                                                         }

                                                         .test{

                                                             .clearNumberT;

                                                         }

                                                         .box{

                                                             .clearNumberT(100px);

                                                         }


6.选择器嵌套

例如:                                        

                            .contain{

                                           width:300px;

                                            height:300px;

                                             .item{

                                                       width:200px;

                                                        height:200px;

                                                        &+p{

                                                               margin-top: 20px;

                                                                }

                                               ul{

                                                       margin:0px;

                                                        padding:0px;

                                                        &:hover{

                                                                      text-align: center;

                                                                    }

                                                         li{

                                                              border:blue 2px solid;

                                                               float:left;

                                                               width:50px;

                                                               height: 50px;;

                                                              }

                                                      }

                                                 }

                                         }


7.继承

  例如:

                                     ul{

                                             margin:0px;

                                             background:grey;

                                          }

                                          p{

                                              color:skyblue;

                                          }

                                          li:extend(p){

                                              font-size:20px;

                                          }

8.运算

可以+ - * /运算

                                       li{

                                          width: @LightFontSize;

                                          font-size:@LightFontSize - 10px;

                                          color: #ab8765 * 2;

                                       }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容

  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 4,395评论 0 26
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 3,453评论 0 6
  • 一、 弹性盒子布局 CSS3自动实现浏览器兼容前缀插件:autoprefixer 参考地址:http://www....
    满天繁星_28c5阅读 764评论 0 1
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,303评论 0 11
  • 不知不觉端午节临近了,有点迷茫日子怎么就这样流逝了。都不记得去年端午是怎么过的了,感觉记忆越来越差了。 日子还是一...
    linda优优阅读 181评论 0 1