CSS Flexible Box Layout 是一直比较新的布局方式,现在支持比较好的浏览器是firefox,chrome。所以下面的例子只可以在firefox,chrome下面运行才可以看到效果。
Flexbox 为 display 属性赋予了一个新的值(即 box 值),还为我们提供了 8 个新的属性:
box-orient
box-pack
box-align
box-flex
box-flex-group
box-ordinal-group
box-direction
box-lines
常用 Flexbox 样式属性
用于框的样式
display: box
该显示样式的新值可将此元素及其直系子代加入弹性框模型中。Flexbox 模型只适用于直系子代。
box-orient
值:horizontal | vertical | inherit
框的子代是如何排列的?还有两个值:inline-axis(真正的默认值)和 block-axis,但是它们分别映射到水平和垂直方向。
box-pack
值:start | end | center | justify
设置沿 box-orient 轴的框排列方式。因此,如果 box-orient 是水平方向,就会选择框的子代的水平排列方式,反之亦然。
box-align
值:start | end | center | baseline | stretch
基本上而言是 box-pack 的同级属性。设置框的子代在框中的排列方式。如果方向是水平的,该属性就会决定垂直排列,反之亦然。
用于框的子代的样式
box-flex
值:0 | 任意整数
该子代的弹性比。弹性比为 1 的子代占据父代框的空间是弹性比为 2 的同级属性的两倍。其默认值为 0,也就是不具有弹性。
上面的 box-flex-group、box-ordinal-group、box-direction 和 box-lines 属性我就不介绍了,因为老实说,您的大部分 Flexbox 作品都未必会用到这些。
下面是做实验的一个小例子,用flex box layout
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<style type="text/css">
* {
border: none;
margin: 0;
padding: 0;
}
h1 {
font: bold 20px Tahoma;
}
h2 {
font: bold 14px Tahoma;
}
header, section, footer, aside, nav, article, hgroup {
display: block;
}
body {
width: 100%;
display: -webkit-box;
-webkit-box-pack: center; /*设置沿 box-orient 轴的框排列方式。因此,如果 box-orient 是水平方向,就会选择框的子代的水平排列方式,反之亦然。*/
-webkit-box-align: center;
}
#wrapper {
max-width: 1000px;
margin: 20px 0px;
display: -webkit-box; /*可将此元素及其直系子代加入弹性框模型中式显示*/
-webkit-box-orient: vertical; /*框的子代是如何排列的?还有两个值:inline-axis(真正的默认值)和 block-axis,但是它们分别映射到水平和垂直方向。*/
-webkit-box-flex: 1; /*该子代的弹性比。弹性比为 1 的子代占据父代框的空间是弹性比为 2 的同级属性的两倍。其默认值为 0,也就是不具有弹性。*/
}
#top_header {
background: yellow;
border: 3px solid black;
padding: 20px;
}
#top_menu {
border: red;
background: #ccc;
color: white;
}
#top_menu li {
list-style: none;
display: inline-block;
padding: 5px;
}
#new_div {
display: -webkit-box;
-webkit-box-orient: horizontal; /*框的子代是如何排列的为水平对齐*/
border: 1px solid #ccc;
background: #C60;
}
.main_section {
border: 1px solid blue;
-webkit-box-flex: 1; /*让当前div和子元素可伸缩*/
margin: 20px;
padding: 20px
}
#side_news {
border: 1px solid red;
width: 220px;
margin: 20px 0px;
padding: 30px;
background: #66cccc;
}
#footer {
text-align: center;
padding: 20px;
border-top: 2px solid green
}
</style>
<body>
<div id="wrapper">
<header id="top_header">
<div id="logo"> </div>
<h1>Welcome to this site!</h1>
</header>
<nav id="top_menu">
<ul>
<li><a href="#">Index</a></li>
<li><a href="#">Doc</a></li>
<li><a herf="#">About</a></li>
</ul>
</nav>
<div id="new_div">
<article class="main_section">
<header>
<hgroup>
<h1>Article title</h1>
<h2>Sub title of article</h2>
</hgroup>
</header>
<p>This article is mainly used to introcuce html5 programmer.It's very userful to a new coder;</p>
<footer> written by robter; </footer>
</article>
<article class="main_section">
<header>
<hgroup>
<h1>Article title 2</h1>
<h2>Sub title of article2</h2>
</hgroup>
</header>
<p>This article is mainly used to introcuce html5 programmer.It's very userful to a new coder;</p>
<footer> written by robter; </footer>
</article>
<aside id="side_news">
<h4>News</h4>
<p> Ncik buy a new dog;He love it very much; </p>
</aside>
</div>
<footer id="footer"> <span>Copyright 2012-8 xxx@gmail.com</span> </footer>
</div>
</body>
</html>
分享到:
相关推荐
Flexbox in CSS Understanding CSS Flexible Box Layout 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Flexbox in CSS Understanding CSS Flexible Box Layout 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络...
Flexbox in CSS Understanding CSS Flexible Box Layout 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
新增了CSS Flexible Box Layout Properties参考; 更新了text-decoration参考; 新增了text-decoration-line、text-decoration-color、text-decoration-style参考; 新增了ime-mode参考; 新增了CSS3速查表参考; 新...
高度基于标准CSS API的自适应React Flexbox(CSS灵活框布局模块)网格系统。 特征 简单API基于 ,无需学习新语法。 使用自定义生成的组件样式 根据响应断点轻松更改网格设置 安装 yarn add react - flexa 用法 ...
新增了CSS Flexible Box Layout Properties参考;更新了text-decoration参考;新增了text-decoration-line、text-decoration-color、text-decoration-style参考;新增了 ime-mode参考;新增了CSS3速查表参考;新开了...
[不推荐使用]罗盘箱 使用和而不是指南针-flexbox可获得更好和最新的结果 mixins的集合,为提供。 安装 从此存储库下载并在导入之后将_flexbox.scss导入您的sass文件中。 @import 'compass', 'path-to/flexbox' ;...
FlexboxLayout 是 Android 上实现了类似 CSS Flexible Box Layout Module 效果的界面排版。示例代码:FlexboxLayout flexboxLayout = (FlexboxLayout) findViewById(R.id.flexbox_layout); flexboxLayout....
CSS3 is the latest version of Cascading Style Sheets, the language that in the hands of a skilled designer turns the ugly duckling of unadorned ... CSS Flexible Box Layout
FlexboxLayout FlexboxLayout是一个库项目,将CSS Flexible Box Layout Module的类似功能引入了Android。 安装向您的build.gradle文件中添加以下依赖项:depende FlexboxLayout FlexboxLayout是一个库项目,将CSS ...
新增了CSS Flexible Box Layout Properties参考;更新了text-decoration参考;新增了text-decoration-line、text-decoration-color、text-decoration-style参考;新增了ime-mode参考;新增了CSS3速查表参考;
1. 弹性网格布局(Flexible Grid Layout):使用百分比单位或Flexbox(CSS Flexible Box Layout Module)创建可以自适应的布局。Flexbox允许元素在容器内灵活地排列和对齐,无论是单列还是多列布局。 2. 可调整的...
1. **CSS Flexbox**:CSS Flexible Box Layout Module(简称Flexbox)是CSS3的一个模块,用于处理容器中元素的对齐、布局和方向。通过设置`display: flex`,我们可以创建一个弹性容器,并利用`align-items: flex-end...
CSS Flexible Box Layout模块,简称Flexbox,提供了一种更为现代的解决方案。通过设置容器的`display: flex`和`align-items: stretch`,所有子元素将自动拉伸至与最高的子元素相同的高度。 ```css .container { ...
Go-Flex提供了对CSS Flexible Box Layout(flexbox)模型的实现,允许开发者在后端以Go语言进行灵活的布局设计。 ### Go-Flex简介 Go-Flex是用Go语言编写的库,它实现了CSS3的flexbox布局规范。Flexbox是一种一维...
标题“flex列子”指的是一个使用CSS Flexible Box Layout(简称Flex布局)的示例项目。Flex布局是现代网页设计中的一个重要部分,它提供了一种更有效的方式来管理和对齐元素,尤其是在响应式设计中,能够更好地适应...
在实际应用中,"flex"通常与CSS Flexible Box Layout(Flexbox)相关,这是一个用于创建多列或多行布局的CSS模块,特别适用于构建响应式界面,即能在不同设备和屏幕尺寸下自适应地展示内容。因此,"calendar flex...
1. **Flexbox布局** - CSS Flexible Box Layout Module(Flexbox)是现代浏览器支持的布局模型,非常适用于创建弹性容器和元素的居中。以下代码演示了如何使用Flexbox实现水平垂直居中: ```css .container { ...
开发者可以借助像CanIUse这样的在线工具,查看各种浏览器版本对CORS以及其他前端技术如CSS Grid Layout、CSS Flexible Box Layout Module和ECMAScript 2015 (ES6)的支持情况,以便在不同浏览器间进行兼容性优化。...
ReflexboxReact是一款基于React库的组件,它利用了CSS Flexible Box Layout,也称为flexbox,来实现响应式和动态的布局。Flexbox是一种现代布局模式,旨在解决复杂的单轴布局问题,比如自适应和弹性内容排列。在...