具体来说,有的屏幕320px宽,有的屏幕640px宽,有的更宽,如果你写固定px,那么要么小的放不下,要么大的有大片空白。
我们h5项目终端适配采用的是淘宝那套《Flexible实现手淘H5页面的终端适配》方案。主要原理是rem布局。最近和别人谈弹性布局原理,发现虽然已经使用了那套方案很久,但是自己对rem的理解很含糊, 包括vw、vh等。所以打算写博客总结一下,以加深理解。
rem:参考的是根元素(html)字体大小 (统一的,一个页面只有一个html)
将元素的字体大小设置为 medium 可以将其设为浏览器默认大小,通常为16 px。 以下是设置元素字体大小的 CSS 代码示例:
C:\Users\你的用户名\AppData\Local\youdao\ynote\
rem和em很容易混淆,其实两个都是css的单位,并且也都是相对单位,现有的em,css3才引入的rem,在介绍rem之前,我们先来了解下em。
每种媒体类型都有各自不同的特性,根据不同媒体类型的媒体特性设置不同的展示风格,暂且了解三个,注意他们要加小括号包含
Tailwind CSS 是目前获得star数量最多的css框架,less只有16.9k,sass 14.6k;今天就来探究一下为何Tailwind CSS这么受欢迎
比如,根元素(html)设置font-size=12px; 非根元素设置width:2rem; 则换成px表示就是24px。
在用前端给移动端页面写布局时,我接触到了Rem布局,但是老实说我也看了几篇手淘适配的文章,并且主要的目的是拿到代码写出demo,所以对于Rem我还是停留在只会使用的阶段,但是理解的并不透彻,所以要抽出时间,把rem布局的原理搞清楚。
由于移动端的特殊性,屏幕的尺寸碎片化严重,要想很好的适配不同的尺寸的设备,需要我们前端开发相比PC端要做一些基层的适配方案。
由于移动端的特殊性,屏幕的尺寸碎片化严重,要想很好的适配不同的尺寸的设备,需要我们前端开发相比PC端要做一些基层的适配方案。 1. 常见的适配方案 百分比+固定高度布局方案 固定屏幕为理想视口宽度 少许的媒体查询设置字体 水平百分比布局 水平方向部分也可以使用弹性布局 Rem解决方案 Rem的大小取值:根据页面的dpr动态改变 Rem的取值: 1rem = 100px 或者 1rem = 1/10 * 理想视口的宽度 chrome浏览器字体小于12px(会被重置为12px) 固定设计稿的宽度开发+根据设
现在市面上的大部分手机,比如iphone X,它的默认视口宽度为980px,而一个iphone X的屏幕宽度仅仅为375px。看到问题了吗?一个宽度只有375像素的手机,却能够显示宽度为980像素的网页,自然而然,网页会被缩小。
网页上想在线编辑代码,可以使用Ace Editor 在线编辑实现。比如我们想实现一个功能,在网页版上写python代码,能有python的语法自动补齐功能。
@media mediatype and | not lonly (media feature) {
因为rem单位是相对于根节点的字体大小的,所以通过设置根节点的字体大小可以动态的改变rem的大小。
本文由Tom Hodgins审阅。感谢SitePointer的编审们,帮助SitePoint提供最优质的内容给读者!
TML5学堂:移动端H5知识普及 - fixed定位模式与其他。虽然知识小,但是不得不承认的是,它们很重要~! 本文会讲解到fixed的定位模式,另外,关于line-height的细节知识也会在这里提到。另外就是给出网络字体的相关知识,并扯扯美工图设计的基准字体。 先要说的话 首先本篇会讲解到fixed的定位模式,另外,关于line-height的细节知识也会在这里提到。另外就是给出网络字体的相关知识,并扯扯美工图设计的基准字体。也算是移动端H5知识这个系列的收尾吧~ fixed定位模式 position:
在中文里面,我们一般会在文字下方加上圆形符号。在日语中会在文字上方加上小顿号。在CSS3中如下属性可以控制着重符号:
1、布局特点:不管浏览器尺寸具体是多少,网页布局始终按照最初写代码时的布局来显示。常规的pc的网站都是静态(定宽度)布局的,也就是设置了min-width,这样的话,如果小于这个宽度就会出现滚动条,如果大于这个宽度则内容居中外加背景,这种设计常见与pc端。 2、设计方法: PC:居中布局,所有样式使用绝对宽度/高度(px),设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查阅被遮掩部分; 移动设备:另外建立移动网站,单独设计一个布局,使用不同的域名如wap.或m.。
rem是什么?l rem是一种新的单位,是一个相对单位,类似于em。 不同的是rem的基准是相当于html元素的字体大小
Less(LeanerStyle Sheets 的缩写)是一门 CSS扩展语言,也成为CSS预处理器。
JsChart是什么? JSChart能够在网页上生成图标,常用于统计信息,十分好用的一个JS组件。 使用JsChart 一。导入jscharts.js 二。编写jscharts.jsp测试页面 1.下载JScharts库 从官网下载JScharts库,我们使用的是压缩包里面的jscharts.js文件。它大约150KB。 使用JScharts库 在网页文件(如.html或.jsp)包含JScharts库。 <script type="text/javascript" src="js/jscharts.js
2个月前,写过一篇文章《从网易与淘宝的font-size思考前端设计稿与工作流》总结过一些移动web中有关手机适配的一些思路,当时也是因为工作的关系分析了下网易跟淘宝的移动页面,最后才有那篇文章的总结,可惜的是因为项目的关系,这两个月来几乎没有机会做移动类项目的工作,所以那些理论一直没有得到真正的实践。这次因为公司有一个app需要做一个推广的下载页面,虽然简单,但也值得一试那篇文章里提到的适配方法,所以本文的内容就是介绍该文中提到的淘宝的做法:《lib-flexible弹性布局方案》。(注:该文中提到的网易的做法跟淘宝的做法其实是大同小异,你访问http://3g.163.com/touch/看下页面源码顶部的JS就能明白了。相较于淘宝的做法,淘宝的方法更能称之为一个方案,网易的做法代码质量实在不敢恭维,所以从本文的角度,推荐淘宝的lib-flexible)
移动端布局中,童鞋们会使用到rem作为css单位进行不同手机屏幕大小上的适配。那么来讲讲rem在其中起的作用和如何动态设置rem的值。
rem 是基于 html 元素的字体大小来决定,而 em 则根据使用它的元素的大小决定,一般被称为相对长度单位,是根据它父元素的字体大小来计算的,一般默认情况下:16px = 1em
前端开发还原设计稿的重要性毋庸置疑,目前应用的单位最多还是rem,然而每次在制作过程中需要自己计算rem值,为了能够直接按照设计图的尺寸开发,并且能自动编译转换成rem,下面就来分享下postcss-pxtorem的使用。
最近,端内在做 webView 统一的时候,个性签名中的 WebView 替换为 CustomWebView 之后,发现字体突然变小。
获得网站的图标: 网址 + “/“ + favicon.ico 如获得淘宝网的图标
em 和 rem都是灵活、 可扩展的单位,由浏览器转换为像素值,具体取决于您的设计中的字体大小设置。 如果你使用值 1em 或 1rem,它可以被浏览器翻译成 从16px到 160px 或其他任意值。
由于最近要练习一些js代码,特地装了WebStorm,但是发现字体太小,因此将已知的两种方法整理出来。
client 翻译过来就是客户端,我们使用 client 系列的相关属性来获取元素可视区的相关信息。通过 client 系列的相关属性可以动态的得到该元素的边框大小、元素大小等。
很多人写这种小工具文件会习惯性的加上闭包,这个其实是没有必要的。ES6 中每个文件都是单独的一个模块。
手机淘宝团队出的简洁高效移动端适配库 它的原理是把当前设备划分为10等份,但是不同设备下,比例还是一致的。 我们要做的,就是确定好我们当前设备的html文字大小就可以了 比如当前设计稿是750px,那么我们只需要把html文字大小设置为75px(750px/ 10)就可以 里面页面元素rem值:页面元素的px值/ 75 剩余的,让flexible.js来去算
在网站开发的时候一般会考虑预留广告位后期使用,但一时半会儿不知道放什么图片比较好,如果什么都不放又显得单调,这时可以考虑使用holder.js来生成占位图片,让页面更加丰富。
前端代码的编写永远逃不过“兼容”二词,从前PC时代,因为IE的傲娇,导致程序猿们一直在兼容IE的道路上挣扎,如今移动设备的普及,仿佛让我们看到了希望,仿佛马上就要摆脱IE了,可是!一波还未平息,一波又来侵袭~移动端确实不用考虑IE了,各种CSS新特性也用的爽到飞起,但一座大山压了过来,那就是分辨率的适配,移动端由于展示区域比较小,因此对于页面在不同分辨率手机上的展示细节也要求更加严格,这时像PC端有些固定宽高的布局方式显然不适应,我们被要求对于不同大小手机页面能自适应,真是非常有(tong)趣(ku)呢~ 话不多说,下面就总结了一些移动端常用的适配手法:
iOS的“设置” –> “显示与亮度” –> “文字大小”,可以修改默认的系统字体大小,当修改之后,系统自带的应用如信息等都会随之改变,手机QQ会随之发生变化:
viewport是网页默认的宽度和高度, 上面这行代码的意思是:网页宽度默认等于屏幕宽度(width=device-width), 原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。
本文最后更新于2022年01月16日,已超过148天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
Github开发的Atom编辑器相信大家都已经用过了。经过这两年的迭代开发,内存占用,启动慢,卡顿很多大坑都已经填上。
比如,根元素(html)设置font-size=12px;非根元素设置width:2rem;则换成px表示就是24px.
代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。
先看看 rem 兼容性(基本上所有主流的浏览器都支持)-https://caniuse.com/#feat=rem
CSS3 基础知识 1.边框 1.1 圆角 border-radius:5px 0 0 5px; 1.2 阴影 box-shadow:2px 3px 4px 5px rgba(0,0,0,0.5);(水平、垂直、模糊、扩展) box-shadow:inset 1px 2px 3px 4px #fff;(inset 内阴影) 1.3 边框图像 border-image 2.背景 2.1 background-size background-size:30px 30px;(背景图像宽度,背景图像高度) 2.2 background-image:linear-gradient(45deg,rgba(0,0,0,0.5) 25%,transparent 25%,transparent 50%,rgba(0,0,0,0.5) 50%,rgba(0,0,0,0.5) 75%,transparent 75%,transparent);(线性渐变,和background-size一起用) 2.3 background-attachment:(fixed|scroll|local) fixed: 背景图像相对于窗体固定。 scroll: 背景图像相对于元素固定,也就是说当元素内容滚动时背景图像不会跟着滚动,因为背景图像总是要跟着元素本身。但会随元素的祖先元素或窗体一起滚动。 local: 背景图像相对于元素内容固定,也就是说当元素随元素滚动时背景图像也会跟着滚动,因为背景图像总是要跟着内容。 2.4 background-position:30px 20px;(横坐标,纵坐标;是图片在动) 2.5 background-origin:(padding-box|border-box|content-box) padding-box: 从padding区域(含padding)开始显示背景图像。 border-box: 从border区域(含border)开始显示背景图像。 content-box: 从content区域开始显示背景图像。 3.文本 3.1 文字阴影 text-shadow:5px 5px 4px #000;(水平,垂直,模糊) 3.2 换行 word-wrap:(normal|break-word) normal: 允许内容顶开或溢出指定的容器边界。 break-word: 内容将在边界内换行。如果需要,单词内部允许断行。 white-space:(normal|pre|nowrap|pre-wrap|pre-line) normal: 默认处理方式。 pre: 用等宽字体显示预先格式化的文本,不合并文字间的空白距离,当文字超出边界时不换行。可查阅pre对象 nowrap: 强制在同一行内显示所有文本,直到文本结束或者遭遇br对象。 pre-wrap: 用等宽字体显示预先格式化的文本,不合并文字间的空白距离,当文字碰到边界时发生换行。 pre-line: 保持文本的换行,不保留文字间的空白距离,当文字碰到边界时发生换行。 3.3 省略号 width:200px; overflow:hidden; text-overflow:hidden; white-space:nowrap; 4.2D变换 4.1 旋转 transform:rotate(45deg); 4.2 移动 transform:translate(45px,45px);(水平,垂直) 4.3 缩放 transform:scale(2,2);(水平,垂直) 4.4 翻转 transform:skew(20deg,40deg);(沿X轴翻转,沿Y轴翻转) 4.5 将以上四个组合在一起 matrix(),需要六个参数,包含数学函数,允许您:旋转、缩放、移动以及倾斜元素。 暂放 5.过渡 5.1 transition : [ transition-property ] || [ transition-duration ] || [ transition-timing-function ] || [ transition-delay ] [ transition-property ]: 检索或设
0. 前言 手机市场日渐丰富的同时,给我们前端开发人员带来的网页内容自适应屏幕尺寸进行显示的问题也日渐凸显出来。原本可能通过百分比/媒体查询等简单手段就可以常见的适配问题,但是对于页面有复杂结构或者
前言 📷 随着移动设备的普及,移动web在前端工程师们的工作中占有越来越重要的位置。移动设备更新速度频繁,手机厂商繁多,导致的问题是每一台机器的屏幕宽度和分辨率不一样。这给我们在编写前端界面时增加了困难,适配问题在当下显得越来越突出。记得刚刚开始开发移动端产品的时候向设计MM要了不同屏幕的设计图,结果可想而知。本篇博文分享一些卤煮处理多屏幕自适应的经验,希望有益于诸君。 特别说明:在开始这一切之前,请开发移动界面的工程师们在头部加上下面这条meta: 简单事情简单做-宽度自适应 所谓宽度自适应严格来说是一种
之前给大家介绍了picgo和免费的图床神器。我们本可以开开心心的进行markdown写作了。
写过样式的都知道CSS是有单位的,想要写出还原设计稿的完美样式,离不开好的单位。现在CSS的单位有%、in、cm、mm、em、ex、pt、pc、px等原生单位,现在更有了rem、vh、vw、vmin、vmax等单位。
随着移动设备的普及,移动web在前端工程师们的工作中占有越来越重要的位置。移动设备更新速度频繁,手机厂商繁多,导致的问题是每一台机器的屏幕宽度和分辨率不一样。这给我们在编写前端界面时增加了困难,适配问题在当下显得越来越突出。记得刚刚开始开发移动端产品的时候向设计MM要了不同屏幕的设计图,结果可想而知。本篇博文分享一些卤煮处理多屏幕自适应的经验,希望有益于诸君。
领取专属 10元无门槛券
手把手带您无忧上云