热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

弹性盒模型超详细讲解

一.弹性盒模型排列首先我们看一个普通盒子:1<!DOCTYPEhtml>2<html>3<head>4

 一.弹性盒模型排列

首先我们看一个普通盒子:

 1 DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>弹性盒模型笔记示例title>
 6     <style type="text/css">
 7         #box{
 8             width: 900px;
 9             margin:0 auto;
10             border: 1px solid #000;           
11         }
12         #box div{
13             width: 100px;
14             height: 100px;
15             background:red;
16             text-align: center;
17             font: 30px/100px "simhei";
18             border:1px solid purple;
19             color: #fff;
20         }
21     style>
22 head>
23 <body>
24     <div id="box">
25         <div>1div>
26         <div>2div>
27         <div>3div>
28         <div>4div>
29         <div>5div>
30     div>
31 body>
32 html>

效果:

可以看出我们是垂直的,若想水平可用浮动,加隐藏溢出清浮动,那么弹性盒模型怎么实现呢?

我们必须在父级中建立弹性盒模型

 

 1 DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>弹性盒模型笔记示例title>
 6     <style type="text/css">
 7         #box{
 8             width: 900px;
 9             margin:0 auto;
10             border: 1px solid #000;
11             display: -webkit-box;/*需要在父级中建立弹性盒模型*/    
12             -webkit-box-pack:start;/*左排列*/  
13             /*-webkit-box-pack:center;居中排列 */
14             /*-webkit-box-pack:right;右排列*/       
15         }
16         #box div{
17             width: 100px;
18             height: 100px;
19             background:red;
20             text-align: center;
21             font: 30px/100px "simhei";
22             border:1px solid purple;
23             color: #fff;
24         }      
25     style>
26 head>
27 <body>
28     <div id="box">
29         <div>1div>
30         <div>2div>
31         <div>3div>
32         <div>4div>
33         <div>5div>
34     div>
35 body>
36 html>

 

再确定排列方式 
-webkit-box-pack:start;/*左排列*/ -webkit-box-pack:center;居中排列 */ -webkit-box-pack:right;右排列*/
依次效果如下:


两种特殊的排列方式:水平排列和垂直排列

 1 DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>弹性盒模型笔记示例title>
 6     <style type="text/css">
 7         #box{
 8             width: 900px;
 9             margin:0 auto;
10             border: 1px solid #000;
11             display: -webkit-box;/*需要在父级中建立弹性盒模型*/    
12             -webkit-box-orient:vertical; 
13             /*-webkit-box-orient:horizontal; */     
14         }
15         #box div{
16             width: 100px;
17             height: 100px;
18             background:red;
19             text-align: center;
20             font: 30px/100px "simhei";
21             border:1px solid purple;
22             color: #fff;
23         }      
24     style>
25 head>
26 <body>
27     <div id="box">
28         <div>1div>
29         <div>2div>
30         <div>3div>
31         <div>4div>
32         <div>5div>
33     div>
34 body>
35 html>

 

-webkit-box-orient:vertical;-->垂直排列
-webkit-box-orient:horizontal;-->水平排列

效果依次如下:


二.弹性盒模型子级均分父级宽度

 方法还是先在父级中添加弹性盒模型空间

然后均分代码-webkit-box-pack:justify;

子级需要确定均分份数,这里用到了伪类选择器

#box div:nth-of-type(1){
-webkit-box-flex:1;/*均分父级一份宽度*/
        }
注意:本例中,子级div定义了宽度

 

 1 DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>弹性盒模型笔记示例title>
 6     <style type="text/css">
 7         #box{
 8             width: 900px;
 9             margin:0 auto;
10             border: 1px solid #000;
11             display: -webkit-box;/*需要在父级添加弹性盒模型空间*/  
12             -webkit-box-pack:justify;         
13         }
14         #box div{
15             /*width: 100px;*/
16             height: 100px;
17             background:red;
18             text-align: center;
19             font: 30px/100px "simhei";
20             border:1px solid purple;
21             color: #fff;
22         }  
23         #box div:nth-of-type(1){
24             -webkit-box-flex:1;/*均分父级一份宽度*/
25         }
26         #box div:nth-of-type(2){
27             -webkit-box-flex:2;
28         }
29         #box div:nth-of-type(3){
30             -webkit-box-flex:3;
31         }
32         #box div:nth-of-type(4){
33             -webkit-box-flex:4;
34         }
35         #box div:nth-of-type(5){
36             -webkit-box-flex:5;
37         }    
38     style>
39 head>
40 <body>
41     <div id="box">
42         <div>1div>
43         <div>2div>
44         <div>3div>
45         <div>4div>
46         <div>5div>
47     div>
48 body>
49 html>

 

效果如下子级会按设置比例均分父级宽度:

 

我们把宽注释掉后会受宽度影响

效果如下:

补充相应的盒模型:

display:-webkit-box;--弹性盒模型
display:-moz-box;
display:-ms-box;
display:-o-box;
display:box;--正常盒模型

对应修改子级代码:

-webkit-box-pack;
-mox-box-pack;
-ms-box-pack;
-o-box-pack;
box-pack;


后续待补充:小哥哥先溜了,回去看书,惬意


推荐阅读
  • 移动端常用单位——rem的使用方法和注意事项
    本文介绍了移动端常用的单位rem的使用方法和注意事项,包括px、%、em、vw、vh等其他常用单位的比较。同时还介绍了如何通过JS获取视口宽度并动态调整rem的值,以适应不同设备的屏幕大小。此外,还提到了rem目前在移动端的主流地位。 ... [详细]
  • 本文介绍了解决IE678伪类不兼容问题的方法,包括少用CSS3和HTML5独有的属性,使用CSS hacker,使用last-child清除浮动、批量添加标签、去掉list item最后一个的border-right等技巧。同时还介绍了使用after清除浮动时加上IE独有属性zoom:1的处理方法。另外,本文还提到可以使用jQuery代替批量添加标签的功能,以及使用负边距和CSS2选择器element+element去掉list item最后一个的border-right的方法。 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 本文介绍了一种在PHP中对二维数组根据某个字段进行排序的方法,以年龄字段为例,按照倒序的方式进行排序,并给出了具体的代码实现。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 为什么三角形与菜单背景的颜色不同? - Why is the triangle a different colour shade to the menu background?
    Imnotunderstandingastowhythetrianglewhichappearswhenthemousehoversoverthemenuitem, ... [详细]
author-avatar
密斯特_张_
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有