如何添加CSS让页面自适应手机屏幕

html-css09

如何添加CSS让页面自适应手机屏幕,第1张

无论是电脑还是手机,要做到自适应屏幕,其实都是一样的。

首先,在网页代码的头部,加入一行viewport标签

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />

viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。即让viewport的宽度等于物理设备上的真实分辨率,不允许用户缩放。

其次:网页宽度css一定要使用百分比width: xx%,不能用绝对像素。当然可以用width:auto

第三,流动布局

.left{

float: left

width: ***%

}

第四,选择加载css

这是自适应的关键部分

.abc{ height:300pxborder:1px solid #000margin:0 auto} 

@media screen and (min-width: 1201px) { 

.abc {width: 1200px}  

/* 设置了浏览器宽度不小于1201px时 abc 显示1200px宽度 */ 

 

@media screen and (max-width: 1200px) { 

.abc {width: 900px}  

/* 设置了浏览器宽度不大于1200px时 abc 显示900px宽度 */ 

 

@media screen and (max-width: 901px) { 

.abc {width: 200px}  

/* 设置了浏览器宽度不大于901px时 abc 显示200px宽度 */ 

 

@media screen and (max-width: 500px) { 

.abc {width: 100px}  

/* 设置了浏览器宽度不大于500px时 abc 显示100px宽度 */ 

需要注意是CSS代码顺序,由大到小排版CSS(判断浏览器宽度越大越放前),这样是因为逻辑关系,@media 判断CSS排错将导致判断失效。

第四,图片自适应

img { max-width: 100%}

老版本的IE不支持max-width,所以只好写成:img { width: 100%}

筚五、采用相对字体大小

字体也不能使用绝对大小(px),而只能使用相对大小(em)。

这里最重要的,是第三条和第四条,也就是采用流动布局和css选择加载。祝你好运!

<style type="text/css">

.demo1{width:600pxoverflow:hidden}

.demo1 li{width:100pxheight:100pxfloat:left}

.demo1 li img{width:100pxheight:100px}

</style>

<ul class="demo1">

  <li><img src="xx.jpg" /></li>

  <li><img src="xx.jpg" /></li>

  <li><img src="xx.jpg" /></li>

</ul>

上面就是流式布局,其实就是浮动,希望帮助到你

CSS2.1定义了 4 中布局方式

给任意元素设置 display:flex,弹性布局就会被创建,flex 的子项会发生变化.

flex-direction属性用来控制 flex 子项的整体布局方向,决定是从左往右排序.flex-dirction属性有以下语法

flex-wrap属性用来控制 flex 子项单行显示还是换行显示,以及在换行显示情况下,没一行内容是否在垂直方向的反向显示.

flex-flow属性是 flex-dirction属性和 flex-wrap属性的缩写.表示弹性布局的流动性特性

CSS 在 flex 中属性名称基本上是几个固定单词的组合,且这些单词在整个 CSS 世界中是通用的含义

justify-content 属性在弹性布局中常用的语法如下

align-item和 align-self属性的一个区别是 align-self属性是设置在具体的某个 flex 子项上,而 flex-items 属性是设置在 flex 容器上,器控制 flex 子项的垂直对齐方式,align-self默认值是 auto,其余的数据值个 align-items 属性值一致.属性如下

align-content属性和 align-items属性的区别在于 align-items属性设置的是每一个 flex 子项的垂直对齐方式,而 align-content 属性是将所有作为一个整体进行垂直对齐设置.align-content 属性如下所示

我们可以通过 order 属性来改变 flex 子项的顺序位置.order 属性越小优先级别越高

flex 属性是弹性布局的精髓,因此弹性布局就是 flex 属性的作用.flex 属性是 flex-grow flex-shinrk flex-basic这 3 个属性的缩写.我们先了解下flex 常用的几个声明

表示的是什么意思?

flex-basic 属性用来表示基础宽度

flex-grow 属性表示宽度还有剩余的时候

flex-shrink 属性表示宽度不足的时候

flex:0等同设置 flex:0 1 0%,flex:none等同设置了 flex:0 0 auto.

如果没一行的行数是固定的,则可以使用两种方式实现最后一行对齐

要实现最后一行对齐,理论上最好使用 gap 属性设置间隙

如果每一行的行数不固定,则上面的方法都失效,需要使用其他的方式实现最最后一行对齐.可以使用空白标签进行填充占位,具体的占位数量由最多列数的个数决定