css3分栏,响应式布局

一、分栏。

* column-count:auto | 整数;---控制栏数
* column-width:length;---每栏的宽度
* column-gap : length ;---两栏之间的间距
* column-rule : 宽度,线型,颜色;---栏与栏的间隔线
* 类似border,solid | dotted | dashed   实线 | 点线 | 虚线 
* column-width和column-count可以让一个元素进行多列布局
* column-gap和column-rule就处在相邻两列之间

* column-span : all / none ;    是否跨栏显示

二、弹性布局(box-flex)。
* 优点:
* 1 适应性强,在做不同屏幕分辨率的界面时非常实用
* 2 可以随意按照宽度、比例划分元素的宽高
* 3 可以轻松改变元素的显示顺序

* 4 弹性布局实现快捷,易维护

1).display : box; 将一个元素的子元素以弹性布局进行布局
  box-orient:horizontal | vertical | inherit   子元素的排列方式
            横向           竖向            继承
  box-direction:normal | reverse | inherit  子元素的排列顺序
            正常          反向          继承
  box-align:start | end | center   子元素的对齐方式
            靠左   靠右   居中
  box-pack:start | end | center   子元素的对齐方式
    顶部   底部   居中

2).box-flex:number ;  子元素如何分配剩余空间
   box-flex:在默认情况下,盒子并不具有弹性。如果对box-flex的属性值进行了设置,则变得富有弹性
   html,body{height:100%;margin:0px;}需要添加高度控制,否则无法撑满整个屏幕

3).属性
  box-ordinal-group:number ;  子元素显示顺序(在子元素设置)
  display : box ; 将一个元素的子元素以弹性布局进行布局
  box-orient:子元素的排列方式(横向或者竖向
  box-direction:子元素的排列顺序
  box-align:子元素的对齐方式
  box-pack:子元素的对齐方式

  box-flex:子元素如何分配剩余空间(在子元素设置)

三、响应式布局。
* 1、优势与不足
  1).优势
        多终端视觉和操作体验风格统一
兼容当前及未来新设备
节约了开发成本,维护成本也降低很多
  2).不足
兼容性:低版本浏览器兼容性有问题
移动带宽流量:相比较手机定制网站,流量稍大,但比较加载一个完整pc端网站显然是小得多
代码累赘,会出现隐藏无用的元素,加载时间加长

在设计的初期就要考虑的页面如何在多终端显示,兼容各种设备工作量大

* 2、响应式实现方式
  1).css3-media Query(媒体查询、媒介查询)
    1、定义和使用
    使用 @media 查询,你可以针对不同的媒体类型定义不同的样式。
    @media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置响应式设计的页面,@media 是非常有用的。
    当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。

    2、css语法
    1).内嵌样式的语法:
@media mediatype and|not|only (media feature) { ... }
媒体类型:mediatype
关键字:and|not|only
媒体特征:media feature

示例:
<style>
   @media all and (min-width:500px) { … }
</style>

    2).外联css语法:
    <link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mystylesheet.css">
媒体类型:mediatype
关键字:and|not|only
媒体特征:media feature

示例:

<link rel="stylesheet" media="screen and (min-width:1024px)" href="red.css" />

    3).
1、媒体类型:mediatype
    all     用于所有设备
    screen    用于电脑屏幕,平板电脑,智能手机等
    print     用于打印机和打印预览
    speech   应用于屏幕阅读器等发声设备
    aural     用于语音和声音合成器
    braille     应用于盲文触摸式反馈设备
    embossed 用于打印的盲人印刷设备
    handheld 用于掌上设备或更小的装置,如PDA和小型电话
    projection 用于投影设备
    tty 用于固定的字符网格,如电报和对字符有限制的便携设备
    tv 用于电视和网络电视


2、关键字:and|not|only
    and   用来连接条件,然后括号里就是一个媒体特征查询语句
    not   用来排除某种媒体类型,即用于排除符合表达式的设备
    only   用来限定某种媒体类型,可用来排除不支持媒体查询的浏览器

    示例:
@media screen and (min-width: 500px) and (max-width : 800px)
<link rel="stylesheet" media="not print and (max-width: 1200px)" href="red.css" type="text/css" /> 
<link rel="stylesheet" media="only screen and (max-width:240px)" href="w240.css" type="text/css" />
 3、媒体特征:media feature
    max-width:500px
    min-width:500px
    @media screen and (min-width: 320px) and (max-width : 500px)

         4、分辨率精细的终端查询:device-pixel-ratio
    如:iphone4以上的retina屏的像素比是2
    @media only screen and (min-device-pixel-ratio: 2) 
2).JavaScript
3).第三方开源框架 Bootstrap

猜你喜欢

转载自blog.csdn.net/qq_35325795/article/details/80686511