<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>rem</title> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-sca…
    <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <meta name="viewport" content="initial-scale=1.0,user-scalable=no,maximum-scale=1,width=device-width" />…
摘要:在写响应式H5页面的时候,我常常会用rem字体,为了兼容多个分辨率的设备,需要写多个@media标签,太麻烦并且不够精致,尤其是移动端的页面往往达不到我想要的效果,后来就用js替代了css的@media,下面是代码.(以下方案以750px的设计图) 方案一.缺点:浏览器里使用没问题,安卓和ios设备hybrid app里嵌入的时候,会受到系统字体设置的影响,原理就是当系统设置超大字体的时候,会改变html的font-size大小,引起页面bug. (function (doc, win)…
效果图: 上源码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible&…
最后一堆代码是举例的全码. 一 直接<head>标签里套用以下,其他都不用 <script> document.documentElement.style.fontSize = document.documentElement.clientWidth / 750*100 + "px"; window.addEventListener("resize",function(){ document.documentElement.style.fon…
引用js,自动算字体大小,响应式布局 <script> var iScale = 1; iScale = iScale / window.devicePixelRatio; document.write('<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=' + iScale + ',minimum-scale=' + iScale + ',max…
提到富文本,可能大家都用到过百度的ueditor,作为一个重量级的插件,总结起来一句话,功能很强大,使用很费心.不知道是不是太久没有维护了,ueditor的文档可读性还真是差也可能是悟性不够吧.本文也不是使用教程,只是简单总结一下如何更改字体设置为rem. 一.问题 因为ueditor是pc端的富文本,所以一切字体大小都是以px为单位,但是我们项目需要在移动端来显示,并且移动端的项目都类似淘宝flexible那样做了高清屏幕的适配,这样原原本本的pc上的发布的内容在app上可能就张下面这个样子了…
1.px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的.(引自CSS2.0手册) 2.em是相对长度单位.相对于当前对象内文本的字体尺寸,em存在值继承问题. 浏览器的默认字体高都是16px,默认识别最小字体12px.所有未经调整的浏览器都符合: 1em=16px.那么12px=0.75em,10px=0.625em.为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px,…
JS方法动态计算根元素的字体大小: [淘宝首页:m.taobao.com] (function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', //第一段是判断窗口有没有orientationchange这个方法,有就赋值给一个变量,没有就返回resize方法. // 获取浏览器支持的改变方向的函数,如…
PX为单位 在Web页面初期制作中,我们都是使用“px”来设置我们的文本,因为他比较精确和固定. 只要页面某元素设置了px字体大小,其子元素/子孙元素未设置字体大小或设置的字体大小css优先级没父元素高的话,该子元素/子孙元素会继承其父元素的px字体大小设置 . 这种方法存在一个问题:当用户在浏览器中浏览我们制作的Web页面时,他改变了浏览器的字体大小,这时会使用我们的Web页面布局被打破. 这样对于那些关心自己网站用户可读性.用户体验的前端人员来说,就是一个大问题了. 因此,这时就提出了使用“…
// 『REM』手机屏幕适配,兼容更改过默认字体大小的安卓用户 function adapt(designWidth, rem2px) { // designWidth:'设计图宽度' 1rem==rem2px+'px' var d = window.document.createElement('div'); d.style.width = '1rem'; d.style.display = "none"; var head = window.document.getElements…
背景 如何按照设计稿中标注的尺寸,直接写页面的样式,不再需要px2rem这样的工具或者人工转换 ? 只要你明白了rem的计算原理,这个问题的答案超级简单. 根字体大小计算核心原理 设备的根字体大小 * 全屏比例值 =  设备的宽度 设计稿的根字体大小 * 全屏比例值 = 设计稿的宽度 这两个等式中的全屏比例值相等的条件下,在真实设备上可以高保真地还原设计稿. 实战一下 找了一个蓝湖的设计稿,蓝湖的设计稿宽度是750px,默认根字体大小是50px. 50px * 全屏比例值 = 750px,这个全…
var doc = window.document var docEl = doc.documentElement var tid function refreshRem () { var width = docEl.getBoundingClientRect().width if (width > 540) { // 最大宽度 width = 540 } var rem = width / 7.5 // 将屏幕宽度分成750份,1份为1rem 375屏刚好0.5px docEl.style.f…
px:相对长度单位,相对于屏幕分辨率 em:相对长度单位,相对于body而言 rem:相对长度单位,相对于html根元素 注意:浏览器默认大小:16px;…
//得到手机屏幕的宽度 let htmlWidth = document.documentElement.clientWidth || document.body.clientWidth; if(htmlWidth>750){htmlWidth=750} //得到html的Dom元素 let htmlDom = document.getElementsByTagName('html')[0]; //设置根元素字体大小 htmlDom.style.fontSize = htmlWidth/20 +…
这里使用了js控制根元素的font-size大小,然后进行rem换算,在js代码后面会说明以下问题. 1.如何进行rem运算? 2.如果纯js控制根元素用rem布局会出现的小问题,如何解决? 3.如有欠缺的地方,大神们可以指出错误或者改进. function intiSize(){ //获取当前浏览器窗口宽度(这里的实质就是body宽度) var win_w=document.body.offsetWidth; //定义变量 var fontSize; if(win_w>640){ fontSi…
原始代码: <html> <head> <meta charset="utf-8"> <meta content="ie=edge" http-equiv="x-ua-compatible"> <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,…
(function(doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = function() { var clientWidth = docEl.clientWidth; if(!clientWidth) return; // if(clientWidth>=640){ // docEl.s…
目录 一:伪元素选择器 1.首字调整>>>:也是一种文档布局的方式 2.在文本的前面通过css动态渲染文本>>>:特殊文本无法选中 3.在文本的后面通过css动态渲染文本>>>:特殊文本无法选中 二:选择器的优先级 1.选择器优先级 2.相同选择器不同导入方式(相同距离优先) 3.不同选择器不遵循就近原则>>>:优先级 三:字体相关 1.高度和宽度 2.字体大小 3.字重(粗细) 四:文本颜色 1.第一种方式 2.第二种方式(颜色编码…
目录 概述 盒子模型 块级元素 行内元素 可变元素 总结 概述 在div+css中,了解块级元素和行内元素还是非常有必要的,比如:对行内元素使用width属性就会失效.虽然自己不是做前端的,但是,在项目中,曾经也弄过从前端布局,也吃过这方面的亏.今天,群里有朋友问起这个,就趁着学习一下,也算是查漏补缺吧,虽然,谈不上精通,但是了解,还是很有必要的. 盒子模型 css盒子模型分为两种,一种是遵循w3c标准的标准盒子模型,另外一种就是IE盒子模型. 标准盒子模型 IE盒子模型 通过上面两张图可以看出…
这个组件在我所开发的网站中被大量使用,为网站增色不少.在本地测试的时候所有图标都能显示出来,可一到服务器上就显示不出来了.网上查列出了可能的原因.其一,IIS没有注册字体类型.经过检查,不存在这个问题.其二,css路径不对,其三引用字体路径不对.我有点纳闷,在本地可是能正确显示的.查看了本地和服务器fontawesome图标字体库css 及字体所在的目录都存在.这会是哪里的问题.使用浏览器的审查元素功能,发觉字体所在路径是网站根目录/fonts下.图示如下: 显示的是404错误.这与本地路径不一…
我们可以发现:两个行内块元素,宽度相加刚好等于父盒子容器的元素,但第二个元素掉在第二行,这是什么问题呢? 我们先来看一下效果: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> *{ margin: 0; padding: 0; } .container{ wi…
身为一个前端攻城狮,是不是经常遇到各种各样的响应式问题?下面我们来说一下: 1.响应式跟自适应有什么区别? 有些人可能还不知道响应式跟自适应的区别,甚至认为他们是同一个东西,其实不是的. 自适应是最早出现的,后面才有了响应式.响应式布局等于流动网格布局,而自适应布局等于使用固定分割点来进行布局. 如下图所示,对于同一个页面(图中的Html),如果用响应式布局来处理的话,用不同设备(电脑.平板.手机)去访问此页面,最后看到的布局和内容有很大不同. 而如果用自适应布局去处理的话,那不管访问设备如何的…
常用单位 在CSS中可以用很多不同的方式来设定字体的尺寸.一般来说,这些单位被分成两大类:绝对单位(absolute)和相对单位(relative). 绝对单位在大多数情况下是相对于某些实际量度而言的固定值,即是说它们一旦设定,就不会因为其他元素的字体尺寸变化而变化. 相对单位没有一个固定的度量值,而是由父元素尺寸来决定的相对值,它们的尺寸会根据与其相关的元素改变而改变. 下面是对这些单位的一个简单整理: 单位 类型 描述 px Absolute 1个Viewport像素 pt Absolute…
em 单位em是相对于父元素的,如果父元素没有设置字体大小,那就会追溯到body. 比如  如果我在box_text的父元素box加了一个字体大小   那么body的8px就会被box_text的父元素box 的28px取代    rem  在说rem,因为他是相对于跟元素(html),所以如果用rem,body里面写任何字体大小都没效果,只能写html在中,比如     设置了REM之后,字体大小只看html{}中设置的.改HTML的大小就能改整个页面字体的大小…
rem的看法 rem单位确实好处蛮多的,它是相对于根节点,让我们整个网站单位可以统一.还可以让我们的字体更好的自适应网站的大小.但是,你用过了就知道,它会出现一个问题: 用Chrome浏览器打开你做的网站的时候,有时候会出现字体很大的情况.但是刷新一下页面就好了. 之所以会出现这种情况,原因是因为我们为了计算方便,将原本默认1rem=16px修改1rem=10px.因此,我们在html中通常做了如下设置: html {font-size: 62.5%; /**10 ÷ 16 × 100% = 6…
一.用户修改手机字体设置大小,影响App里打开的web页面. 手机字体设置大小,影响App的页面.Android的可以通过webview配置webview.getSettings().setTextZoom(100)就可以禁止缩放,按照百分百显示. 二.用户调整浏览器字体大小,影响的是从浏览器打开的web页 浏览器设置字体大小,影响浏览器打开的页面.通过js可控制用户修改字体大小,使页面不受影响. (function(doc, win) { // 用原生方法获取用户设置的浏览器的字体大小(兼容i…
px px像素(Pixel),相对长度单位,像素px是相对于显示器屏幕分辨率而言的.(引自CSS2.0手册) 譬如,Windows的用户所使用的分辨率一般是96像素/英寸. 而MAC的用户所使用的分辨率一般是72像素/英寸. 特点: 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位: 3. Firefox能够调整px和em,rem,但是96%以上的中国网民使用IE浏览器(或内核). em em是相对长度单位.相对于当前对…
这段时间内,涉及到的都是移动端开发,说到移动端开发,我们就会思考到,目前分辨率的问题,如果用px为单位的话,在不同移动设备和不同分辨率下,页面的效果可能会有所不同,甚至导致页面变形.所以在次我们就用到了rem,使用rem为单位,在任何移动端下显示的效果都是一样的. 只要我们在页面的head中引入下面的 rem.js : ! function(n) { var e = n.document, t = e.documentElement, i = 750, d = i / 100, o = "ori…
一.用户调整浏览器字体大小,影响的是从浏览器打开的web页. 浏览器设置字体大小,影响浏览器打开的页面.通过js可控制用户修改字体大小,使页面不受影响. (function(doc, win) { // 用原生方法获取用户设置的浏览器的字体大小(兼容ie) if(doc.documentElement.currentStyle) { var user_webset_font=doc.documentElement.currentStyle['fontSize']; } else { var us…