自适应

CSS布局基础

六眼飞鱼酱① 提交于 2019-12-10 05:39:27
(初级)css布局 一、单列布局 1、基础知识 块级元素 div p ul li dl dt 行级元素 img span input strong同一行显示、无换行 2、盒子模型 盒子模型 (边框border、外边距margin、内边距padding、内容content) 盒子模型3维立体图:自上往下(边框、内容和内边距、背景图片、背景颜色、 外边距) 样式追求就近原则(行内样式>内部样式>外部样式) 3、自动居中 margin: 0px auto;实现自动居中(原理:外边距=(浏览器的宽度-外包含层的宽度)/2)(此时不能同时设置浮动和绝对定位) 一般情况下: 父层设置一宽度,子层设置100%就可以。(子层继承父层宽度) 4、css布局笔记 4-1 margin:auto #main { width: 600px; margin: 0 auto; } 设置块级元素的 width 可以阻止它从左到右撑满容器。然后你就可以设置左右外边距为 auto 来使其水平居中。元素会占据你所指定的宽度,然后剩余的宽度会一分为二成为左右外边距。 唯一的问题是,当浏览器窗口比元素的宽度还要窄时,浏览器会显示一个水平滚动条来容纳页面。让我们再来改进下这个方案。 4-2 max-width 在这种情况下使用 max-width 替代 width 可以使浏览器更好地处理小窗口的情况

vue中移动端自适应的postcss-plugin-px2rem插件

牧云@^-^@ 提交于 2019-12-09 13:17:20
flexible 主要是用来响应式改变根元素的字体大小 安装命令 npm install lib-flexible --save 在main.js里面导入命令 import 'lib-flexible' 要把index.html里面的 <meta name='viewport'> 标签删除;因为会自动添加 postcss-plugin-px2rem配置内容解释 安装命令 npm i --save postcss-plugin-px2rem 创建一个名为vue.config.js的文件写入 model.exports={ { loaderOptions: { postcss: { plugins: [ require('postcss-plugin-px2rem')({ rootValue: 75, //换算基数, 默认100 ,这样的话把根标签的字体规定为1rem为50px,这样就可以从设计稿上量出多少个px直接在代码中写多上px了。 // unitPrecision: 5, //允许REM单位增长到的十进制数字。 //propWhiteList: [], //默认值是一个空数组,这意味着禁用白名单并启用所有属性。 // propBlackList: [], //黑名单 exclude: /(node_module)/, //默认false,可以(reg

「前端长列表」开源库解析及最佳实践

偶尔善良 提交于 2019-12-09 12:08:29
前言 长列表一般也叫虚拟列表,是一种大数据量下只渲染可见节点避免页面卡顿的优化方案 长列表也有时间分片的做法,比较少用,感兴趣的可以看 高性能渲染十万条数据(时间分片) 前端比较有名的有两个项目: react-window vue-virtual-scroller 以及 Ant Design 4 的 virtual-list 本文将对这些开源库进行剖析,分析实现原理,并进行各个指标的评估,最终实现一个高可用的长列表组件 主要评估以下几点: 渲染:回流, 渲染策略等 计算:起止项和偏移位置的计算,总高度的计算 功能:自适应高度,其他 健壮:是否存在鼠标与滚动条不同步的 bug(计算时总高度增加了,则滚动条会相对鼠标向上) 然后说下看源码的策略,主要看这几点: dom 结构 查找起始位置 计算偏移距离 计算总高度 长列表入门 如果还不清楚长列表是什么,可以先看下这篇文章 「前端进阶」高性能渲染十万条数据(虚拟列表) 一张图快速入门 下面我们来看看其他开源库都怎么做的 vue-virtual-scroller 项目地址 功能: 支持自适应高度,横向滚动,图片自适应高度 渲染 dom 结构如下 <!-- position: relative;overflow-y: auto; --> < div class = " vue-recycle-scroller " > < div class

高度随着文字的多少而自适应

丶灬走出姿态 提交于 2019-12-08 03:48:59
视图的高度随着文字的多少而自适应的方法 //根据字符串计算高度方法: - ( CGFloat )getHeightLineWithString:( NSString *)string withWidth:( CGFloat )width withFont:( UIFont *)font { //最大允许绘制的文本范围 CGSize size = CGSizeMake(width, 2000 ); //配置计算时的行截取方法,和contentLabel对应 NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init]; [style setLineSpacing: 10 ]; //配置计算时的字体的大小 NSDictionary *dic = @{NSFontAttributeName:font, NSParagraphStyleAttributeName:style}; //如果想保留多个枚举值,则枚举值中间加按位或|即可,并不是所有的枚举类型都可以按位或,只有枚举值的赋值中有左移运算符时才可以 CGFloat height = [string boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin |

移动端自适应布局----rem字体

我只是一个虾纸丫 提交于 2019-12-08 03:48:46
一.px,em,rem之间联系与区别 px:像素是相对于显示器屏幕分辨率而言的相对长度单位,不会受屏幕宽度改变 em:继承父级的font-size,与父级的字体大小有关 rem:是em的升级版,rem只会相对html的值,不会受到父级的影响。 二.移动端怎么用rem 假设设计师的视觉稿是按照iPhone6的宽度来设计的,即375px 那么,我们可以完全按照视觉稿上的尺寸来赋值给元素的样式,比如视觉稿上的尺寸是80px,那么在css中就可以直接定义width:80px; 页面中所有的尺寸都这样来设置。 当所有的网站所有的页面样式都设置好之后。 1. 设置页面的rem大小 ```css html { font-size: calc(100vw/3.75); } 或者(ipone6举例) html{ font-size:26.67vw; } ``` 100vw是设备的宽度,除以3.75可以让1rem的大小在iPhone6下等于100px 2. 替换页面中的单位,把所有的px单位替换成rem,除以100,比如前面的80px,就是0.8rem 这样在iPhone6下,所有元素的尺寸还是和视觉稿的尺寸一样,而iphone5中,因为设备的宽度变小了,100vw/3.75得到的值,会相应的变小,即rem的单位值会变小,页面中所有的尺寸会等比例缩放。 这样就可以做到针对任何分辨率的设备保持视觉一致了

html 文字和图片实现自适应

℡╲_俬逩灬. 提交于 2019-12-08 03:47:41
文字自适应在html页面加入 <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0'> <meta name='apple-mobile-web-app-capable' content='yes'> <meta name='apple-mobile-web-app-status-bar-style' content='black'> <meta name='format-detection' content='telephone=no'> 图片自适应加入 <style type='text/css'>img{width:100%}</style> <table style="width:100%;font-size:1.1em"> 来源: CSDN 作者: easyboot 链接: https://blog.csdn.net/easyboot/article/details/53884001

css字体大小自适应窗口

天大地大妈咪最大 提交于 2019-12-08 03:47:30
css字体大小自适应窗口 font-size 1vw = 1% of viewport width 窗口宽度的1% 1vh = 1% of viewport height 窗口高度的1% vmax vw和vh中最大的一个 vmin vw和vh中最小的一个 #content { position : absolute ; z-index : 1 ; font-family : hanwei ; /* font-size: 5rem; */ font-size : 3vw ; } 效果图 来源: CSDN 作者: 宋大王 链接: https://blog.csdn.net/JsongNeu/article/details/89889780

h5文字自适应

六眼飞鱼酱① 提交于 2019-12-08 03:46:01
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <meta name="format-detection" content="telephone=no" /> <meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;"> <title>不落泪的天使</title> </head> <body > <div style="margin: 0px; padding: 5px; border: 1px solid rgb(204, 204, 204); max-width: 100%;

html 字体大小自适应

早过忘川 提交于 2019-12-08 03:44:35
文字自适应在html页面加入 <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0'> <meta name='apple-mobile-web-app-capable' content='yes'> <meta name='apple-mobile-web-app-status-bar-style' content='black'> <meta name='format-detection' content='telephone=no'> 图片自适应加入 <style type='text/css'>img{width:100%}</style> <table style="width:100%;font-size:1.1em"> 来源: CSDN 作者: wangzhibo_csdn 链接: https://blog.csdn.net/wangzhen_csdn/article/details/79635564

这可能是史上最全的CSS自适应布局总结教程

亡梦爱人 提交于 2019-12-08 03:44:19
标题严格遵守了新广告法,你再不爽,我也没犯法呀!话不多说,直入正题。 所谓布局,其实包含两个含义:尺寸与定位。也就是说,所有与尺寸和定位相关的属性,都可以用来布局。 大体上,布局中会用到的有:尺寸相关的盒子模型,普通流、浮动、绝对定位三种定位机制,CSS3中的transform、弹性盒子模块、试验中的grid模块。逛园子的时候经常可以看到浮动布局,inline-block布局,弹性盒布局这几个名词。现在对布局也算有一点了解,做个总结巩固一下。如果你也看了很多资料,但是实际动手时对布局还是无从下手的话,希望本文可以帮你理清思路。 唠叨一句:看到一个效果图的时候,千万不要急着手贱去敲代码!先思考清楚页面的构造,理清各元素之间的关系,特别需要注意的是在不同的设备下需要有怎样的展现,当你思路清晰找到最好的布局方案时,coding其实真的不需要多少时间。 尺寸相关 为什么要先说尺寸呢?因为尺寸在布局中的作用非常核心,布局方式定位这些只是改变了元素之间的关系,没有尺寸就什么也不是。比如我们通常会用margin来控制跟其他元素的距离,这就是布局。 很多人都会觉得,什么width、margin太简单了,早就掌握了。这种心态我一开始学习CSS的时候也有,觉得很好理解很简单,但是后面才发现自己原来很多东西都没真正掌握。看看张鑫旭大神给我们上的政治课: http://www.zhangxinxu.com