0


WEB前端-弹性布局

WEB前端-弹性布局



一、css属性补充

1.光标形状

语法:cursor:值

取值:

text:文本图标

help:问号图标

wait:等待的图标

pointer: 小手图标

move 移动

url(),临时替换的样式-----需要在url后面加auto

default 箭头

<head>
    <meta charset="utf-8" />
    <title></title>
    <style type="text/css">
        div{
            width:100px;
            height:50px;
            border:1px solid #000;
        }
        .box1{
            cursor:text;
        }
        .box2{
            cursor:help;
        }
        .box3{
            cursor:wait;
        }
        .box4{
            cursor:pointer;
        }
        .box5{
            cursor:move;
        }
        .box6{
            cursor:url('bitbug_favicon.ico'),auto;
        }
        .box7{
            cursor:default;
        }
    </style>
</head>
<body>
    <div class="box1">文本</div>
    <div class="box2">问号</div>
    <div class="box3">等待</div>
    <div class="box4">小手</div>
    <div class="box5">移动</div>
    <div class="box6">图片</div>
    <div class="box7">箭头</div>
</body>

应用场景:主要用于修饰鼠标放到元素上面的时候光标的样式

2.强调边框

语法:outline:值------盒子轮廓

取值:和边框一样

应用场景:主要用于设置元素周围的边框,起到强调作用(常用于去掉表单选中的蓝色边框)

<head>
    <meta charset="utf-8" />
    <title></title>
    <style type="text/css">
        [type="password"]{outline:none;}
    </style>
</head>
<body>
    <input type="text" />
    <input type="password" />
</body>

效果

3.透明度

语法:opacity:值

取值:0-1之间的小数

<head>
    <meta charset="utf-8" />
    <title></title>
    <style type="text/css">
        .box{
            width:200px;
            height:100px;
            border:1px solid #000;
            position:relative;
        }
        img{
            position:absolute;
            left:0;top:0;
            opacity:0.5;
        }
    </style>
</head>
<body>
    <div class="box">
        <img src="1.png" width="200" height="100" />
        这是一张图片
    </div>
</body>

效果

4.背景透明

语法:rgba(值1,值2,值3,值4)

取值:1-3个值都是0-255的数字,表示颜色,第4个值是透明度0-1之间取值

<head>
    <meta charset="utf-8" />
    <title></title>
    <style type="text/css">
        .box{
            width:200px;
            height:100px;
            border:1px solid #000;
            position:relative;
        }
        img{
            position:absolute;
            left:0;top:0;
        }
        .box2{
            width:200px;
            height:100px;
            background:rgba(3,3,3,.5);
            color:#fff;
            position:absolute;
            left:0;top:0;
        }
    </style>
</head>
<body>
    <div class="box">
        <img src="1.png" width="200" height="100" />
        <div class="box2">
            这是一张图片
        </div>
    </div>
</body>

效果

5.去掉文本域的自动拉伸效果

语法:resize:none;

<head>
    <meta charset="utf-8" />
    <title></title>
    <style type="text/css">
        textarea{
            resize:none;
        }
    </style>
</head>
<body>
    <textarea cols="30" rows="10"></textarea>
</body>

效果图

6.行内文字溢出省略号形式显示

overflow: hidden;
white-space: nowrap;文字不换行
text-overflow:ellipsis;/* 超出的部分以省略号形式显示 */

<style>
    .box{
        width:300px;
        height:100px;
        border:1px solid #000;    
        overflow:hidden;
        white-space: nowrap;/* 设置文本不换行,单行显示 */
        text-overflow:ellipsis;/* 超出的文本使用省略号代替 */
    }
    
</style>
<div class="box">
    “健全人可以活出精彩的人生,残疾人也可以活出精彩的人生。我们每个人都要珍惜生命、追求健康,努力创造无愧于时代的精彩人生。”
</div>

7.vertical-align

作用:控制行内块与文字的对齐方式,写在行内块元素上面

baseline 图片的基线和文字的基线保持对齐 top 图片的顶线和文字的顶线(行高的顶线)对齐 bottom 图片的底线和文字的底线(行高的底线)对齐 middle 图片的中线和文字的中线对齐

<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
    .box{
        width:300px;
        height:200px;
        border:1px solid #000;
        line-height:200px;
    }
    img{
        vertical-align:middle;    
    }
</style>
</head>

<body>
<div class="box">
    <img src="3.jpg" width="100" height="100" />
    鸿飞万里
</div>
</body>

效果图

二、缩放zoom

语法:zoom:值

取值:值是一个倍数

<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
    .box{
        width:200px;
        height:200px;
        border:1px solid #000;
        
    }
    div.box:hover{
        transform:scale(2);
        /*zoom:2;*/
    }
    .box1{
        width:100px;
        height:100px;
        background:#990;    
    }
</style>
</head>

<body>
<div class="box">
    
</div>
<div class="box1"></div>
</body>

效果图

<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
    .box{
        width:200px;
        height:200px;
        border:1px solid #000;
        
    }
    div.box:hover{
        /*transform:scale(2);*/    
        zoom:2;
    }
    .box1{
        width:100px;
        height:100px;
        background:#990;    
    }
</style>
</head>

<body>
<div class="box">
    
</div>
<div class="box1"></div>
</body>

三、弹性布局

1.多栏布局

a) 分栏显示

语法:column-count:值

取值:值是一个栏目的数量

<style type="text/css">
        .box{column-count:3;width:500px;}
    </style>
</head>
<body>
    <div class="box">
        2009年主演电影《全城热恋》。2012年,凭借爱情片《第一次》获得第十三届华语电影传媒大奖“最受瞩目女演员奖”。
            2013年1月,《南都娱乐周刊》举办新生代四小花旦的评选活动,杨颖以总分70分的综合得分与刘诗诗、杨幂、倪妮共同当选为新一代“四小花旦”;同年在徐克导演的影片《狄仁杰之神都龙王》中担任女主角,并且获得第21届北京大学生电影节最受欢迎女演员奖;4月,Angelababy主演电视剧《大汉情缘之云中歌》。
            2014年加盟综艺节目《奔跑吧兄弟》并主演电影版;同年主演顾长卫导演的电影《微爱之渐入佳境》,票房突破2.8亿。
            2015年5月参演好莱坞电影《独立日2》;7月,主演电影《摆渡人》。
    </div>
</body>

效果图

b) 多栏隔断框

语法:column-rule:值

取值:这里的取值和边框的取值是一样的,也有边框厚度,边框颜色,边框样式

<style type="text/css">
        .box{column-rule:5px solid red;column-count:3;width:500px;}
    </style>
</head>
<body>
    <div class="box">
        2009年主演电影《全城热恋》。2012年,凭借爱情片《第一次》获得第十三届华语电影传媒大奖“最受瞩目女演员奖”。
            2013年1月,《南都娱乐周刊》举办新生代四小花旦的评选活动,杨颖以总分70分的综合得分与刘诗诗、杨幂、倪妮共同当选为新一代“四小花旦”;同年在徐克导演的影片《狄仁杰之神都龙王》中担任女主角,并且获得第21届北京大学生电影节最受欢迎女演员奖;4月,Angelababy主演电视剧《大汉情缘之云中歌》。
            2014年加盟综艺节目《奔跑吧兄弟》并主演电影版;同年主演顾长卫导演的电影《微爱之渐入佳境》,票房突破2.8亿。
            2015年5月参演好莱坞电影《独立日2》;7月,主演电影《摆渡人》。
    </div>
</body>

效果图

c) 设置每一栏的宽度

语法:column-width:值

取值:值和宽度的值一样

<style type="text/css">
        .box{column-width:80px;width:500px;border:1px solid red;}
    </style>
</head>
<body>
    <div class="box">
        2009年主演电影《全城热恋》。2012年,凭借爱情片《第一次》获得第十三届华语电影传媒大奖“最受瞩目女演员奖”。
            2013年1月,《南都娱乐周刊》举办新生代四小花旦的评选活动,杨颖以总分70分的综合得分与刘诗诗、杨幂、倪妮共同当选为新一代“四小花旦”;同年在徐克导演的影片《狄仁杰之神都龙王》中担任女主角,并且获得第21届北京大学生电影节最受欢迎女演员奖;4月,Angelababy主演电视剧《大汉情缘之云中歌》。
            2014年加盟综艺节目《奔跑吧兄弟》并主演电影版;同年主演顾长卫导演的电影《微爱之渐入佳境》,票房突破2.8亿。
            2015年5月参演好莱坞电影《独立日2》;7月,主演电影《摆渡人》。
    </div>
</body>

效果

2.弹性布局

概念:可以实现类似浮动的效果,但是不会脱离文档流

语法:display:flex -------------设置一个弹性容器

主要属性(都需要先设置display:flex;):

a)设置弹性布局的方向

语法:flex-direction:值

取值: (1)row横向排列,等同于左浮动浮动效果

示意图

(2)row-reverse 横向反向排列,等同于右浮动的效果

示意图

(3)column 纵向排列

示意图

(4)column-reverse 纵向反向排列,从下到上的排列

示意图

b)设置弹性布局是否换行

语法:flex-warp值

取值:(1)不换行(默认),nowrap

示意图

(2)换行, wrap

示意图

3)换行,并反向排列(从下往上排列),wrap-reverse------从下往上,从左往右进行排列

示意图

c)设置弹性布局的水平对齐方式

语法:justify-content:值

取值:(1)从左向右(左对齐),默认,flex-start

示意图

(2)从右往左排列(右对齐),flex-end

示意图

(3)两端对齐,中间等距离隔开,space-between

示意图

(4)两端的空白是中间空白的一半,space-around------------环绕对齐

示意图

(5)居中对齐,center

示意图

(6)等距离排列,space-evenly

示意图

d)垂直对齐方式

语法:align-content:值(在换行的时候用)

取值:(1)默认的排列方式,stretch--------靠上排列,但是元素之间有间距

示意图

(2)靠上排列(上对齐),flex-start

示意图

(3)靠下排列(下对齐),flex-end

示意图

(4)垂直上下两端对齐,中间等距离空白,space-between

示意图

(5) 两端的空白是中间的空白的一半,space-around

示意图

(6)居中对齐,center

示意图

(7)等距离摆放,space-evenly

示意图

e)交叉对齐方式

语法:align-items:值,需要横向排列

取值:(1)flex-start,从起始位置对齐

示意图

(2)flex-end,在结束位置对齐--------底部对齐

示意图

(3)center,居中对齐---------垂直居中

示意图

(4)baseline,在基准线对齐

示意图

(5)stretch,拉伸子元素------图片不行

示意图

使用场景:当网页结构鲜明,简单,使用弹性布局

f)子元素单独在y轴上的对齐方式

语法:align-self

取值:

auto:默认值,元素继承了它的父容器的align-items属性,如果没有父容器则为"stretch"

stretch:拉伸

center:居中

flex-start:最上面

flex-end:最下面

baseline:容器的基线

其实这个属性的结果和align-items的一样,只是align-items修饰的弹性容器中的所有子元素,align-self修饰的当前这一个元素。

text-align:center;和margin:auto;的区别

text-align:center;

1.文本水平居中对齐

2.设置在父元素上,作用于子元素(行元素和行内块,不能对块元素生效)

margin:auto;

1.盒子水平居中

2.设置在自身,作用于自身(自己是块元素,在父元素中居中,不能对行元素生效)

标签: 前端 css3 html5

本文转载自: https://blog.csdn.net/syh_SYH0321/article/details/127558889
版权归原作者 蒲竺 所有, 如有侵权,请联系我们删除。

“WEB前端-弹性布局”的评论:

还没有评论