display : -webkit-box-inline 我见
来源:互联网 发布:时时彩源码大富豪 编辑:程序博客网 时间:2024/05/16 18:40
概念:
display:box | inline-box 叫做伸缩布局盒模型,这个属性是最早的版本,但移动端支持的不错,最新标准时display:flex | inline-flex
我们首先可以这么想 display:inline-box 是一个具有 display:inline特性的并且也具有 display:box 特性的一个组合体,它只能显示盒子内大小的东西并且可以使用display:box的一系列属性。
实例:
我们先上一段代码:
2 * {
3 padding:0;
4 margin: 0;
5 }
6 .content{
7 background-color:#ddd;
8 }
9
10 .content1{
11 background-color: #0f0;
12 }
13
14 .content2{
15 background-color: #0000ff;
16 }
17
18 .content{
19 display: -webkit-box;
20 height: 300px;
21 }
22
23 .content{
24 -webkit-box-orient: horizontal;
25 }
26
27 .content .content2,
28 .content .content1{
29 -webkit-box-flex: 1;
30 }
31
32 .content .content1{
33 width: 40px;
34 }
35
36 </style>
37 <body>
38 <div class="content">
39 <div class="content1">固定的盒子</div>
40 <div class="content2">产品的名称<br/>产品的介绍</div>
41 </div>
42 </body>
运行以后细心的朋友会发现,我给content1盒子设置了40px的宽度,但是它没有任何效果,原因是-webkit-box-flex: 1;它补充了左右2个盒子的大小,到这里会有人骂我,"如果想保持这个特性就直接把 content1 加上 display: inline-block 就可以了么,用的着你这样唧唧歪歪!”
原因
但我想说的是如果我想让里面的文字垂直居中呢? 你说你有办法,我也相信有办法,但是如果里面的内容是一张图片呢?如果我们想让图片垂直居中,但同时不想让图片变形呢?是不是费点劲?肯定会有这样的需求“左边图片,右边上面是产品标题,下面是产品介绍” 这里我们第一联想到的就是盒子的pack和align,里面的元素基本上都会垂直居中,于是我们将content1 改成-webkit-box 并且加上box-pack:center; box-align:center;属性 这个时候我们发现里面的内容确实垂直居中了但是宽度还是没有变化。
这时候试着将 content1的盒子改成 -webkit-inline-box 我们会惊喜的发现:
1.盒子的大小变成40px了
2.盒子内的文字也垂直居中了
3.带有inline特点的盒子 竟然能够改变大小
这时候我们重新总结一下,能够改变自身大小而且初始化大小只有盒子内容积的第一印象肯定是 inline-block ,这时候我不由的惊叹了这么好用的特性竟然没发现很多人在用!我这里我再总结一下。
display : -webkit-inline-box
拥有以下特性:
- 拥有display:inline-block的特性:将对象昂呈递为内联对象,但是对象的内容作为块对象呈递,旁边的内联对象会被呈递在同一行内,允许空格。 我的粗俗解释 - 盒子初始化时只能够容纳子元素的容积大小,并且可以改变盒子本身大小。
- 拥有display:box 特性,能够使用CSS3其内特性
个人觉得运用的合理的话这个属性特别好用。
最终示例代码:
2 <html>
3 <head lang="en">
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />
6 <title></title>
7 <style>
8 * {
9 padding:0;
10 margin: 0;
11 }
12 .content{
13 background-color:#ddd;
14 }
15
16 .content1{
17 background-color: #0f0;
18 }
19
20 .content2{
21 background-color: #0000ff;
22 }
23
24 .content,
25 .content .content2{
26 display: -webkit-box;
27 display: -moz-box;
28 display: box;
29 }
30
31 .content .content2,
32 .content .content1{
33 -webkit-box-align: center;
34 -moz-box-align: center;
35 box-align: center;
36 -webkit-box-pack: center;
37 -moz-box-pack: center;
38 box-pack: center;
39 }
40
41 .content {
42 height: 300px;
43 }
44
45 .content{
46 -webkit-box-orient: horizontal;
47 -moz-box-orient: horizontal;
48 box-orient: horizontal;
49 }
50
51 .content .content2,
52 .content .content1{
53 -webkit-box-flex: 1;
54 -moz-box-flex:1;
55 box-flex:1;
56 }
57
58 .content .content1{
59 width: 300px;
60 height: 100%;
61 display: -webkit-inline-box;
62 }
63
64 .content .content1 img{
65 width:100%;
66 }
67
68 </style>
69 </head>
70 <body>
71 <div class="content">
72 <div class="content1"><img src="3.jpg.680.510.jpg"></div>
73 <div class="content2">产品的名称<br/>产品的介绍</div>
74 </div>
75 </body>
76 </html>
以上都是在谷歌浏览器上运行的。
经常的总结让我们变得更智慧,让我们在迷茫的时候找到前进的方向!谢谢@P-利-Q的指点!
- display : -webkit-box-inline 我见
- 盒模型display:-webkit-box;
- display: -webkit-box; 盒模型
- 盒模型display:-webkit-box;的使用
- 自适应布局display:-webkit-box的用法
- css3中的display:-webkit-box的用法
- css中display:inline-block display:-moz-inline-box display:-moz-inline-stack 的区别
- CSS3.0盒模型display:-webkit-box;的使用
- CSS3.0盒模型display:-webkit-box;的使用
- CSS3.0盒模型display:-webkit-box;的使用
- CSS3.0盒模型display:-webkit-box;的使用
- 【转载】CSS3.0盒模型display:-webkit-box;的使用
- CSS3.0盒模型display:-webkit-box;的使用
- CSS3.0盒模型display:-webkit-box;的使用
- CSS3.0盒模型display:-webkit-box;的使用
- -webkit-box-
- display:inline
- display:inline
- React Native Windows 10 搭建步骤
- golang vendor介绍
- CompletionService 简介(异步)
- java Callable和Future并发调用,并且返回结果小例子
- 数组指针
- display : -webkit-box-inline 我见
- 量化分析师的Python日记【Q Quant 之初出江湖】
- Linux-Qt Quick学习1-Hello world
- Left join --案例2
- uboot启动时间优化
- 数据结构(四)——循环链表与双向链表
- [校内测试]宝藏(树形DP)
- pycharm+python+Django之web开发环境的搭建(windows)
- isKindOfClass、isMemberOfClass