前端布局(自用版),一劳永逸!
点击关注公众号,技术干货及时送达
前端布局一、自适应自适应就是一套代码,不管屏幕大小怎么变化只有页面的元素大小的变化,不会出现表格三列变两列的样子,那种是响应式,烦死了每次领导和设计都跑过来让我修改一个页面说是自适应窗口的变化,结果要求三列变两列,什么这个按钮那个按钮隐藏一下改个样子,怎么改啊,你不需要设计出图嘛,我自己幻想嘛,烦死了....
自适应网站: http://m.ctrip.com/html5/
「方法:」
使用flex布局使用百分比避免写死宽高添加滚动条使用rem...二、响应式就是手机、pad、pc一套一种代码,每次加载不同的样式,都在一个项目里面做的兼容,这种才叫响应式。希望做产品的都睁睁眼行不行,我不想把设计的活也做了,最后还说怎么感觉不好看啊,废话我又不是做设计的。
响应式网站:https://www.microsoft.com/zh-cn/
三、移动端常见的宽高宽 高比例320×480(2:3)480×854(约9:16)480×800(3:5)480×640(3:4)540×960(9:16)600×1200(1:2)600×1024(75:128约9:16)640×960(2:3)640×1136(40:71约9:16)720×1280(9:16)768×1024(3:4)800×480(5:3)800×1280(5:8)1080×1920(9:16)1536×2048(4:3)1600×2560(5:8)竖屏常用宽高比:1:2,2:3,3:4,3:5,5:8,9:16
横屏常用宽高比:4:3,5:3
附:智能手机屏幕尺寸和分辨率一览表
尺寸 (英寸)分辨率像素密度3.5(苹果 iphone4)960×640(DVGA)326PPI3.7800×480(WVGA)252PPI3.7800×480(WVGA)252PPI3.7960×540(qHD)298PPI4.0800×480(WVGA)233PPI4.0854×480(WVGA)245PPI4.0960×540(qHD)275PPI4.0(苹果 iphone5)1136×640(HD)330PPI4.2960×540(qHD)262PPI4.3800×480(WVGA)217PPI4.3960×640(qHD)268PPI4.3960×540(qHD)256PPI4.31280×720(HD)342PPI4.5960×540(qHD)245PPI4.51280×720(HD)326PPI4.51920×1080(FHD)490PPI4.71280×720(HD)312PPI4.71280×720(HD)312PPI4.71280×720(HD)312PPI4.81280×720(HD)306PPI5.0480×800(WVGA)186PPI5.01024×768(XGA)256PPI5.01280×720294PPI5.01920×1080(FHD)441PPI5.31280×800(WXGA)285PPI5.3960×540(qHD)207PPI6.0854×480163PPI6.01280×720245PPI6.02560×1600498ppi7.0800×480(WVGA)128PPI7.01024×600169PPI7.01280×800216PPI9.71024×768(XGA)132ppi9.72048×1536264PPI101200X600170ppi102560×1600299ppi1.百分比布局窗口的hight和width改变的时候,通过给 height、width 、padding、border、margin等 属性都是依托父组件的宽高(margin 和 padding 都可以使用百分比值的形式,但有一点可能和通常的想法不同,就是 margin-top、margin-bottom、padding-top、padding-bottom的百分比值参照的不是容器的高度,而是父级容器的宽度)
子元素的 top 和 bottom 如果设置百分比,则相对于直接非 static 定位(默认定位)的父元素的高度,同样,子元素的 left 和 right 如果设置百分比,则相对于直接非 static 定位(默认定位的)父元素的宽度。
子元素的 padding 和 margin 如果设置百分比,不论是垂直方向或者是水平方向都相对于直接父亲元素的 width,而与父元素的 height 无关。border-radius 为百分比,则是相对于自身的宽度
「缺点:」
计算困难,如果我们要定义一个元素的宽度和高度,按照设计稿,必须换算成百分比单位
2、媒体查询布局通过@media 媒体查询,可以通过给不同屏幕的大小编写不同的样式来实现响应式的布局。
响应式缺点:如果浏览器大小改变时,需要改变的样式太多,那么多套样式代码会很繁琐。
「语法: @media mediatype and not only (media feature) { css-code; }」
js
//也可以针对不同的媒体使用不同的stylesheets: link rel="stylesheet" media="mediatype and not only (media feature)" href"mystylesheet.css" link rel="stylesheet" href="styleB.css" media="screen and (max-width: 800px)" !--上面将浏览器宽度小于等于80px时,应用 styleA 。-- css引用
@media screen and (max-device-width:960px){ body{background:red;} }
参考文档(复制到浏览器打开):https://blog.csdn.net/caseywei/article/details/124296968
http://www.w3cplus.com/content/css3-media-queries
http://css.doyoe.com/
链接(复制到浏览器打开):https://blog.csdn.net/u010510187/article/details/82790963
「常用的响应断点阈值设定」
括号后面是样式的缩写576px (Extra small)=576px (Small --- sm)=769px (Medium --- md)=992px (Large --- lg)=1200px (X-Large --- xl)=1400px (XX-Large ---- xxl)「@media 会结合删格系统一起来使用,实现真正意义上的响应式开发。」
3.rem 响应式布局rem通常用来适配移动端,按照视口将页面分成10份。
比如现在有 5 个同尺寸的屏幕 (750 640 480 375 320),所有屏幕整体宽分成 10rem
那我们就需要分别得到这几种不同屏幕下对应的 html 根元素的 font-size 大小了。
屏幕尺寸html中font-size 大小(1rem 大小)750px75px640px64px480px48px375px37.5px320px32px「flexible.js 插件也可以解决」
em和rem类似,都是依据font-size进行页面布局缩放,但是em多依赖于直接亲父级font-size的大小,只会找最近的父级,不直接依赖于整体的html根标签
3.vw、vh 响应式布局因为 100vw = 100视图窗宽度 ,100vh = 100 视图窗高度,那么按照750的设计稿100vw就是750.那么1vw就是7.5px
屏幕尺寸1vw750px7.5px640px6.4px480px4.8px4. flex 弹性布局flex-direction , flex-wrap , justify-content , align-items , align-content
子元素:order , flex-grow , flex-shrink ,flex-basis , align-self
四、圣杯布局和双飞翼布局双飞翼布局左列和右列宽度恒定,中间列的宽度根据浏览器窗口的大小自适应。
圣杯布局同双飞翼布局一样,左列和右列宽度恒定,中间列的宽度根据浏览器窗口的大小自适应,不过更加完整。
如果文章对你有帮助的话欢迎
「关注+点赞+收藏」
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。 项目经理在线