等比例适配所有屏幕---css3 rem用法
1,rem的定义
rem(font size of the root element)是指相对于根元素的字体大小的单位。rem是一个相对单位。和em非常相似。em(font size of the element)是指相对于父元素的字体大小的单位。两者之间的区别是一个计算的规则是依赖根元素一个是依赖父元素计算。
2,为什么要使用rem
rem可以实现强大的屏幕适配布局。屏幕适配有很多种做法,例如:流式布局、限死宽度、还有就是通过响应式来做。但是,这些方案都有各种各样的弊端。使用流式布局在页面布局的时候大都是通过百分比来定义宽度,高度大都是用px来定义。流式布局最致命的缺点就是在大屏幕下的显示效果会变成页面元素被拉的很长,但是高度还是和原来一样,显得非常不协调。固定宽度是把页面设定一个固定的宽度,超出部分留白。但是固定宽度也有一个缺点就是在大屏幕下看起来页面会显得特别小。
3,rem的使用方法
rem是通过根元素进行适配的,网页中的根元素指的是html,我们通过设置html的字体大小就可以控制rem的大小。
html {
font-size: 40px;
}
.btn {
width: 6rem;
height: 3rem;
line-height: 3rem;
font-size: 1.2rem;
display: inline-block;
background: #06c;
color: #fff;
border-radius: .5rem;
text-decoration: none;
text-align: center;
}
width: 120px = 6rem * 20px(根元素设置),当我们把html的font-size设置为40px的时候,就会变为240px。改变html中的font-size就可以等比例的改变所有用了rem单位的元素。在任何分辨率下,页面的排版都是按照等比例进行切换,并且布局没有乱。
我们可以通过js去动态改变根元素的font-size去调整,也可以利用media query(媒体查询)改变根元素的font-size实现适配
html {
font-size : 20px;
}
@media only screen and (min-width: 401px){
html {
font-size: 25px !important;
}
}
@media only screen and (min-width: 428px){
html {
font-size: 26.75px !important;
}
}
@media only screen and (min-width: 481px){
html {
font-size: 30px !important;
}
}
@media only screen and (min-width: 569px){
html {
font-size: 35px !important;
}
}
@media only screen and (min-width: 641px){
html {
font-size: 40px !important;
}
}
等比例适配所有屏幕---css3 rem用法的更多相关文章
- css3 rem的用法
rem这是个低调的css单位,近一两年开始崭露头角,有许多同学对rem的评价不一,有的在尝试使用,有的在使用过程中遇到坑就弃用了.但是我对rem综合评价是用来做web app它绝对是最合适的人选之一. ...
- CSS3自适配手机屏幕[转]
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- 移动适配请使用比rem等更好的布局方案
移动端大行其道,rem/em.百分比.响应式方案更是层出不穷,看见周围的伙伴们都在对使用rem和百分比情有独钟,可我却偏不爱,之所以出现如此多的方法,其目的只有一个屏幕适配. 屏幕适配顾名思义 ...
- Web App适配不同屏幕的几点建议
安卓设备在屏幕尺寸和像素密度上差别很大,因此在使用WebView加载网页时就需要考虑到这种差别,对我们的网页做出精心的设计以在不同的屏幕上都能得到合适的展现.通常情况下,我们需要考虑到两个因素:1.视 ...
- 关于手机端适配的问题(rem,页面缩放)
关于手机端适配的问题(rem,页面缩放) 96 进击的小前端 关注 2018.02.02 13:57 字数 320 阅读 19评论 0喜欢 0 相信很多和会和我碰到一样的情况,就是你用rem去写移动端 ...
- Android界面设计适配不同屏幕的尺寸和密度解读
Android是运行在各种提供不同的屏幕尺寸和密度的设备.Android系统提供跨设备的统一开发环境和处理大部分的工作,以调整每个应用程序的用户界面,以在其上显示的画面. 同时,该系统提供了API,允 ...
- Android屏幕适配全攻略(最权威的官方适配指导)屏幕尺寸 屏幕分辨率 屏幕像素密度 dpdipdpisppx mdpihdpixdpixxdpi
Android屏幕适配全攻略(最权威的官方适配指导)原创赵凯强 发布于2015-05-19 11:34:17 阅读数 153734 收藏展开 转载请注明出处:http://blog.csdn.net/ ...
- 如何指定一个和你的Android应用程序相适配的屏幕配置
原文:http://android.eoe.cn/topic/android_sdk 描述: 指定每个与该应用程序兼容的屏幕配置.一个配置清单中只能有一个标签的实例,但是它能够包含多个元素.每个元素指 ...
- 【翻译】Best Practices for User interface android 适配不同屏幕、不同分辨率
地址:http://developer.android.com/training/multiscreen/screendensities.html#TaskProvideAltBmp 安卓支持不同的屏 ...
随机推荐
- POS开发问题 - 跳转页面更新,返回还原旧数据
问题描述:由于需求的需要,路由需要加上缓存 <keep-alive> ,还要实现跳转就初始化,返回就还原的需求.意思就是:页面 A 跳转到页面 B ,页面 B 要初始化数据,但是 页面 B ...
- LAMP Stack 5.7.16 (Ubuntu 16.04.1)
平台: Ubuntu 类型: 虚拟机镜像 软件包: apache2.4 mysql5.7 php7 phpmyadmin4.5 apache application server basic soft ...
- 为OSSIM添加 ossec的linux agent
1,安装环境 [root@node32 test]# yum groupinstall "Development Tools" -y Installed: byacc.x86_64 ...
- Centos7_Minimal-1611 版安装python3.5.3
前提 最近在学习python3,看到好多教程都是要求在Windows或者Ubuntu 平台上使用,安装比较方便.由于不在想Winddows上安装也没有Ubutnu系统 ,所以在自己的CentOS7上面 ...
- Cygwin 下的 自动安装工具 apt-cyg
类似 于apt-get 或者 yum Cygwin可以在Windows下使用unix环境Bash和各种功能强大的工具,对于Linux管理员来说不想使用Linux桌面是必备的工具. Cygwin下也有类 ...
- 【转】iOS 文件下载及断点续传
ios的下载我们可以使用的方法有:NSData.NSURLConnection.NSURLSession还有第三方框架AFNetworking和ASI 利用NSData方法和NSURLConnecti ...
- python_9_for
#1 for i in range(10):#默认从0开始,步长为1 print("loop",i) #2 for i in range(0,10,1):#步长为1 print(& ...
- python_55_局部和全局变量
school='Hebut'#school为全局变量 sex='male'#全局变量 names=['Wang Yu','Bai Jingyi','Zhang Yu'] hobby='姑娘' def ...
- java中 二进制 八进制 十六进制 十进制 相互转换 最简方法
package com.swift; import java.util.Scanner; public class Hex2Decimal { public static void main(Stri ...
- Jquery的简单API
dsfsdjgsdjgsdjkg <script>console.log('erftwet')</script>