`

CSS Flexible Box Layout

 
阅读更多

 

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

    Flexbox in CSS Understanding CSS Flexible Box Layout 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    Flexbox in CSS Understanding CSS Flexible Box Layout 无水印pdf

    Flexbox in CSS Understanding CSS Flexible Box Layout 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络...

    Flexbox in CSS Understanding CSS Flexible Box Layout azw3

    Flexbox in CSS Understanding CSS Flexible Box Layout 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    CSS参考手册v3.4.0(飘零雾雨版)

    新增了CSS Flexible Box Layout Properties参考; 更新了text-decoration参考; 新增了text-decoration-line、text-decoration-color、text-decoration-style参考; 新增了ime-mode参考; 新增了CSS3速查表参考; 新...

    react-flexa:高度基于标准CSS API的自适应React Flexbox(CSS Flexible Box Layout Module)网格系统

    高度基于标准CSS API的自适应React Flexbox(CSS灵活框布局模块)网格系统。 特征 简单API基于 ,无需学习新语法。 使用自定义生成的组件样式 根据响应断点轻松更改网格设置 安装 yarn add react - flexa 用法 ...

    CSS3.4.0 最新中文版.zip

    新增了CSS Flexible Box Layout Properties参考;更新了text-decoration参考;新增了text-decoration-line、text-decoration-color、text-decoration-style参考;新增了 ime-mode参考;新增了CSS3速查表参考;新开了...

    compass-flexbox:指南针mixins的集合,为CSS Flexible Box Layout Module提供最佳的浏览器支持

    [不推荐使用]罗盘箱 使用和而不是指南针-flexbox可获得更好和最新的结果 mixins的集合,为提供。 安装 从此存储库下载并在导入之后将_flexbox.scss导入您的sass文件中。 @import 'compass', 'path-to/flexbox' ;...

    谷歌开源的Android排版库 FlexboxLayout.zip

    FlexboxLayout 是 Android 上实现了类似 CSS Flexible Box Layout Module 效果的界面排版。示例代码:FlexboxLayout flexboxLayout = (FlexboxLayout) findViewById(R.id.flexbox_layout); flexboxLayout....

    Beginning CSS3 (pdf)

    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

    Android版Flexbox-Android开发

    FlexboxLayout FlexboxLayout是一个库项目,将CSS Flexible Box Layout Module的类似功能引入了Android。 安装向您的build.gradle文件中添加以下依赖项:depende FlexboxLayout FlexboxLayout是一个库项目,将CSS ...

    cssv3.4.0参考手册.zip

    新增了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-是flexboxCSS布局算法的Go实现

    Go-Flex提供了对CSS Flexible Box Layout(flexbox)模型的实现,允许开发者在后端以Go语言进行灵活的布局设计。 ### Go-Flex简介 Go-Flex是用Go语言编写的库,它实现了CSS3的flexbox布局规范。Flexbox是一种一维...

    flex列子

    标题“flex列子”指的是一个使用CSS Flexible Box Layout(简称Flex布局)的示例项目。Flex布局是现代网页设计中的一个重要部分,它提供了一种更有效的方式来管理和对齐元素,尤其是在响应式设计中,能够更好地适应...

    calendar flex

    在实际应用中,"flex"通常与CSS Flexible Box Layout(Flexbox)相关,这是一个用于创建多列或多行布局的CSS模块,特别适用于构建响应式界面,即能在不同设备和屏幕尺寸下自适应地展示内容。因此,"calendar flex...

    图片的水平垂直居中

    1. **Flexbox布局** - CSS Flexible Box Layout Module(Flexbox)是现代浏览器支持的布局模型,非常适用于创建弹性容器和元素的居中。以下代码演示了如何使用Flexbox实现水平垂直居中: ```css .container { ...

    不同版本浏览器前端标准兼容性对照表以及CORS解决跨域和CSRF安全问题解决方案.docx

    开发者可以借助像CanIUse这样的在线工具,查看各种浏览器版本对CORS以及其他前端技术如CSS Grid Layout、CSS Flexible Box Layout Module和ECMAScript 2015 (ES6)的支持情况,以便在不同浏览器间进行兼容性优化。...

    ReflexboxReact的flexbox布局和网格系统

    ReflexboxReact是一款基于React库的组件,它利用了CSS Flexible Box Layout,也称为flexbox,来实现响应式和动态的布局。Flexbox是一种现代布局模式,旨在解决复杂的单轴布局问题,比如自适应和弹性内容排列。在...

Global site tag (gtag.js) - Google Analytics