盒子模型相关布局属性值、盒子模型添加阴影

241 阅读5分钟
新增盒子模型属性
    inline-blocak:通过display属性设置、是inline和block的综合体,既不会占据一行,同时也可以设置大小
    dispaly:inline-table;将表格变成内联块级
        允许表格设置大小而且允许所有出现其他内容
display:
    table:将模块变成表格
    table-caption:将组件显示为表格标题
    table-cell:将组件显示为单元格
    table-column:讲组件显示为表格列
    table-header-group:将组件显示为表头部分
    table-footer-group:将组件显示为页脚部分
    table-column-group:将组件显示为表格列组
    table-row:将组件显示为表格行
    table-row-group:将组件显示为表格行组
    
使用box-shadow为盒子模型添加阴影
    hoffset:控制阴影在水平方向上的偏移
    yoffset:控制阴影在垂直方向上偏移
    blurl ength:控制阴影模糊程度
    scalel ength:控制阴影的缩放程度
    color:阴影颜色

实例:
 .t{
        width: 300px;
        height: 300px;
        background-color: #ddd;
        box-shadow: 5px 5px 5px #f00;/*水平、垂直、模糊程度、颜色*/
        border-radius: 20px;
    }

分栏效果(大多用于文字介绍)
    columns:可同时指定分栏的宽度和栏目数
    column-width:指定每个分栏的宽度
    column-count:指的是一个整数值,用于指定栏目数
    column-rule:用于指定栏目之间的分隔条,可同时指定分隔条的宽度、样式、颜色
    column-rule-width:指定一个长度值,指定栏目之间分隔条的宽度
    column-rule-style:这是分隔条线性
    column-rule-color:设置分隔条颜色
    column-gap:指定一个长度值,用于指定栏目之间的距离
    column-fill:用于控制栏目的高度
        auto:随内容变化
        balance:各栏目的高度会统一成内容最多的那一栏的高度
    
实例:
      .t{
        width: 100%;
        height: auto;
        background-color: #ddd;
        box-shadow: 5px 5px 5px #f00;/*水平、垂直、模糊程度、颜色*/
        border-radius: 20px;
        columns:200px 4;
        column-rule: 1px solid #f00;

    }
弹性布局
    display:box;可以是多栏布局(大多数浏览器不支持)属性前加内核例如:
        display:-webkit-box;display:-max-box;
盒子模型属性
    box-orient:设置box盒子模型里的子元素的排列方向
        horizontal:box盒子模型里子元素水平排列,如果没有指定高度,那么将按照父元素的高度显示
        vertical:box盒子模型里的子元素垂直排列,如果没有指定宽度,那么将按照父元素的宽度显示
    box-flex:盒模型里子元素自适应的宽度比例
        box-ordinal-group:子元素显示顺序
        box-flex:子元素如何分配剩余空间
        box-align:垂直对齐方向(start|end|center|baseling|stretch)
实例:
   .t{
        width: 100%;
        height: auto;
        background-color: #ddd;
        box-shadow: 5px 5px 5px #f00;/*水平、垂直、模糊程度、颜色*/
        border-radius: 20px;
        display: box;
        display: -moz-box;
        display: -webkit-box;
        box-orient: horizontal;
    }
    .t>.right{
        border: 2px solid #ff0;
    }
        
flex布局
    采用flex布局的元素成为flex容器,简称容器,他的所有子元素自动成为容器成员,成为flex项目,简称项目
        容器默认存有两个轴,水平的主轴和垂直的交叉轴,主轴的开始位置叫做(main axis)结束位置叫做main end,交叉轴开始位置叫做cross start,结束位置叫做cross end
        项目默认沿主轴排列,单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size

flex.gif

常用flex属性
    flex-direction:属性决定主轴方向(项目排列方向)
        flex-direction:row;|row-reverse|column|column-rexerse
            row:默认,主轴方向为水平方向,起点在左端
            row-reverse:主轴方向为水平方向,起点在右端
            column:主轴为垂直方向,起点在上沿
            column-rexerse:主轴为垂直方向,起点在下沿
    
flex-wrap:默认情况下,项目都排在一条线上(又称轴线)上。flex-wrap规定如果一行放不下,如何换行
    flex-wrap:nowrap|wrap|wrap-reverse
        nowrap:默认,不换行
        wrap:换行,第一行在上方
        wrap-reverse:换行,第一行在下方

flex-flow:是flex-direction属性和flex-wrap的简写格式,默认值为row nowrap
    flex-flow:<flex-direction>||<flex-wrap>
    
justify-content属性定义了项目在主轴上的对齐方式
    justify-content:flex-start|flex-end|center|space-between|space-around
        flex-start:左对齐
        flex-end:右对齐
        center:居中
        space-between:两端对齐,项目之间的间隔都相等
        space-around:每个项目两端的间隔相等,所以,项目之间的间隔都相等间隔比项目与边框的间隔大一倍
align-items:属性定义项目在交叉轴上如何对齐
    align-items:flex-start|flex-end|center|baseline|stretch;
        lfex-start:交叉轴起点对齐,
        flex-end:交叉轴的端点对齐
        center:交叉轴的中点对齐
        baseline:项目的第一行文字的基线对齐
        stretch:如果项目表的设置高度或者auto将沾满整个高度

align-content:定义类多轴线的对齐方式,如果项目只有一条轴线,那么该属性不起任何作用
    flex-start:与交叉轴的起点对齐
    flex-end:与交叉周的终点对齐
    center:与交叉周的中点对齐
    space-between:与交叉轴两端对齐,轴线之间的间隔平均分布
    space-around:没跟轴线的两侧间隔都相等,所以轴线之间的间隔比轴线与边框之间的间隔大一倍
    stretch:轴线占据整个交叉轴
        
项目属性
    order:属性定义项目的排列顺序,数值越小排列越靠前,默认为0
    flex-grow:属性定义项目的放大比例,默认为0,如果存在剩余空间也不放大
    flex-shrink:属性定义了项目缩小比例,默认为1,如果空间不足,该项目将缩小
    flex-basis:属性定义了在分配多余空间之前,项目占据的主轴空间,浏览器根据这个属性,计算主轴是否有多余空间,他的默认值为auto,即项目的本来大小
    flex属性是flex-grow,flex-shrink和flex-basis的简写,默认为0 1 auto。后两个属性可选
    alige-self:属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父级元素的alige-items属性,如果没有父级元素,则等同于stretch。