CSS3布局

1、多列(分栏)
column-count 规定元素应该被分隔的列数(栏数)

column-count:number | auto

column-gap 规定列之间的间隔

column-gap:length | normal;

column-rule 设置栏间分隔线

column-rule-style:设置线型
	属性值:none 没有分割线
			hidden 隐藏线
			dotted 点线
			solid 实线
			double 双线
			groove 3d沟槽效果
			ridge 3d脊状效果
			inset 3d左上阴影效果
			outset 3d右下阴影效果
column-rule-width:设置线宽
column-rule-color:设置分隔线颜色
复合写法:column-rule:线宽 线型 颜色			

column-width 规定列的宽度

column-width:length | auto

colums 规定设置 column-width 和 column-count 的简写属性

columns:width count

2、flex布局
flexbox弹性布局,可以适应不同屏幕大小以及设备
目的:提供一种更加要有效的方式对一个容器中的子元素进行排列、对齐和分配空白空间

flex-direction 指定弹性子元素在父容器中的位置。此属性作用于父容器

flex-direction:
	属性值:
			row 横向排列,从左到右排列
			row-reverse 翻转横向排列,从右往左排列
			column 纵向排列
			column-reverse 翻转纵向排列,从后往前排,最后一排在最上面

justify-content 把弹性项沿着弹性容器的主轴线对齐

justify-content:
	属性值:
		flex-start 紧凑方式左对齐
		flex-end 紧凑方式右对齐
		cenetr 紧凑方式居中对齐
		space-between 除了第1个和最后1个子元素外,其他子元素等分空白区域
		space-around 所有子元素等分空白区域

align-items 子元素在纵轴方向上的对齐方式,此属性作用于父容器

align-items:
	属性:
		flex-start 沿纵轴顶端对齐
		flex-end 沿纵轴底端对齐
		center 沿纵轴垂直居中对齐
		baseline 沿纵轴基线对齐
		stretch 纵向拉伸对齐

flex-grow 子元素的放大比例,默认0,即如果存在剩余空间,也不放大。此属性作用于子元素

flex-flow:number

flex用于指定子元素如何分配空间

flex:
	属性值:
			auto 等价于 1 1 auto
			initial 等价于 0 1 auto
			none 等价于 0 0 auto
			inherit 从父元素继承
flex可以带1-3个参数
	带一个参数
		无单位,会被当作flex-grow的值 有单位,会被当做flex-basis的值
		auto(自动宽度)| initial(初始宽度) | none(无)
	带两个参数
		第一个参数必须无单位,被当作flex-grow的值
		第二个参数无单位,被当作flex-shrink(收缩比率)的值
		第二个参数有单位,被当作flex-basis(基本宽度)的值
	带三个参数
		第一个参数必须无单位,被当作flex-grow的值
		第二个参数必须无单位,被当作flex-shrink(收缩比率)的值
		第三个参数必须是一个有效的宽度值(带单位),被当作flex-basis(基本宽度)的值

3、响应式布局
(1)在实现不同屏幕分辨率的终端上浏览网页的不同展示方式。通过响应式设计能使网站在手机和平板电脑上有更好的浏览阅读体验

(2)响应式布局和自适应布局的区别:
响应式布局之开发一套代码,通过检测视口分辨率,针对不同客户端做代码处理,来展示不同的布局和内容
自适应需要开发多套界面,通过检测视口的分辨率,来判断当前访问是PC端、平板、手机等,从而请求服务层,返回不同的页面
响应式布局等同于流动网格布局,自适应等同于使用固定分割点来进行布局。
自适应布局给出了更多的设计空间,只需要考虑几种不同的状态就可以了;而响应式布局需要考虑上百种不同的状态,而然有些状态差异较小,但也要考虑。

(3)响应式开发实现方法
(a)媒体查询
(b)百分比布局
(c)rem布局(相对于HTMl中的字号布局)
(d)视口单位布局(vw/vh)

(4)响应式布局步骤
(a)设置meta标签
(b)通过媒体查询来设置样式
(c)设置多种视图的宽度(i、宽度需要使用百分比/rem/vm&vh,ii、处理图片缩放,iii、其他属性处理,如pre、iframe、vedio都要缩放大小,table建议不要增加padding属性,低分辨率下要使用内容居中操作)

4、媒体查询
步骤:
(1)设置meta标签

  <meta name="viewport" content="width=device-width,initial-scale=1.0,maximun-scale=1.0,user-scale=no">
  以上标签内容只能被移动设备识别
  viewport:视口(移动端)
  width=deivce-width 宽度等于当前设备的宽度
  initial-scale=1.0 初始缩放比例(默认为1.0)
  maximun-scale=1.0 允许用户缩放的最大比例(默认为1.0)
  minimun-scale=1.0 允许用户缩放的最小比例(默认为1.0)
  user-scalable=no 用户是否可以手动缩放(默认为no)

(2)设置IE渲染方式默认为最高版本

<meta http-equiv="x-ua-compatible" content="IE=Edge,chrome=1">
以上代码表示如果浏览器有chrome插件,将以chrome提供的V8引擎渲染页面;如果没有,将以IE的最高版本渲染页面。

(3)引入兼容的JS文件

  <!--[if lt IE 9]
    <script src="httpss://oss.maxcdn.cm/libs/html5shiv/3,7,0/html5shiv.js"></script>
    <script src="httpss://oss.maxcdn.cm/libs/responed.js/3,7,0/html5shiv.js"></script>
      [endif]-->
      
因为IE8及以下版本不支持html5,也不支持css3 media,所以需要加载js文件来处理这个兼容
以上代码是一个注释语句,IE9以上的版本不会编译这几行代码

(4)进入css3提供的媒体查询
(a)引入外部css文件

 <link rel="stylesheet" href="screen480.css" media="screen and (max-width:480px)">
 屏宽为480以下时加载此css文件
 <link rel="stylesheet" href="screen 800.css" media="screen and (min-width:480px) and (max-width:800px)">
 屏宽为480-800时,加载此css文件
 此方法实际开发中最好不要用
 设备:
 	all 所有设备
 	screen PC端显示器
 	print 打印机或打印预览图
 	handheld 便携设备
 	tv 电视机
 	speech 音频合成器
 	braille 盲人点触设备
 	embossed 盲人打印机
 	projection 投影设备
 	tty 固定密度字母栅格设备
 	only 用来排除不支持媒体查询的浏览器或设备

(b)在style标签中用@media定义

@media screen and (max-width: 480px) {
    .menu{
        display: none;
    }  
   屏幕宽度小于480时,采用下面的样式

5、web字体
开发中引入外部字体

    @font-face {
      font-family: 字体名;
      src: url("字体文件") format("字体文件格式以处理浏览器兼容");
    }
可以同时引入多个字体文件,字体一样,文件拓展名不一样,目的是为了处理浏览器兼容

6、iconfont图标字体
由阿里巴巴提供的一种图标字体
官网:iconfont.cn

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值