前端布局(自用)

简介: 前端布局(自用)

前端布局

一、自适应

自适应就是一套代码,不管屏幕大小怎么变化只有页面的元素大小的变化,不会出现表格三列变两列的样子,那种是响应式,烦死了每次领导和设计都跑过来让我修改一个页面说是自适应窗口的变化,结果要求三列变两列,什么这个按钮那个按钮隐藏一下改个样子,怎么改啊,你不需要设计出图嘛,我自己幻想嘛,烦死了…


自适应网站: m.ctrip.com/html5/

方法:

  • 使用flex布局
  • 使用百分比
  • 避免写死宽高
  • 添加滚动条
  • 使用rem

二、响应式

就是手机、pad、pc一套一种代码,每次加载不同的样式,都在一个项目里面做的兼容,这种才叫响应式。希望做产品的都睁睁眼行不行,我不想把设计的活也做了,最后还说怎么感觉不好看啊,废话我又不是做设计的。

响应式网站: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) 326PPI
3.7 800×480(WVGA) 252PPI
3.7 800×480(WVGA) 252PPI
3.7 960×540(qHD) 298PPI
4.0 800×480(WVGA) 233PPI
4.0 854×480(WVGA) 245PPI
4.0 960×540(qHD) 275PPI
4.0(苹果 iphone5) 1136×640(HD) 330PPI
4.2 960×540(qHD) 262PPI
4.3 800×480(WVGA) 217PPI
4.3 960×640(qHD) 268PPI
4.3 960×540(qHD) 256PPI
4.3 1280×720(HD) 342PPI
4.5 960×540(qHD) 245PPI
4.5 1280×720(HD) 326PPI
4.5 1920×1080(FHD) 490PPI
4.7 1280×720(HD) 312PPI
4.7 1280×720(HD) 312PPI
4.7 1280×720(HD) 312PPI
4.8 1280×720(HD) 306PPI
5.0 480×800(WVGA) 186PPI
5.0 1024×768(XGA) 256PPI
5.0 1280×720 294PPI
5.0 1920×1080(FHD) 441PPI
5.3 1280×800(WXGA) 285PPI
5.3 960×540(qHD) 207PPI
6.0 854×480 163PPI
6.0 1280×720 245PPI
6.0 2560×1600 498ppi
7.0 800×480(WVGA) 128PPI
7.0 1024×600 169PPI
7.0 1280×800 216PPI
9.7 1024×768(XGA) 132ppi
9.7 2048×1536 264PPI
10 1200X600 170ppi
10 2560×1600 299ppi

1.百分比布局

窗口的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;}
  }

参考文档:blog.csdn.net/caseywei/ar…

www.w3cplus.com/content/css…

css.doyoe.com/

链接:blog.csdn.net/u010510187/…

常用的响应断点阈值设定

括号后面是样式的缩写
<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 大小)
750px 75px
640px 64px
480px 48px
375px 37.5px
320px 32px

flexible.js 插件也可以解决

em和rem类似,都是依据font-size进行页面布局缩放,但是em多依赖于直接亲父级font-size的大小,只会找最近的父级,不直接依赖于整体的html根标签

4.vw、vh 响应式布局

因为 100vw = 100视图窗宽度 ,100vh = 100 视图窗高度,那么按照750的设计稿100vw就是750.那么1vw就是7.5px

屏幕尺寸 1vw
750px 7.5px
640px 6.4px
480px 4.8px

5. flex 弹性布局

flex-direction , flex-wrap , justify-content , align-items , align-content 子元素:order , flex-grow , flex-shrink ,flex-basis , align-self

四、圣杯布局和双飞翼布局

双飞翼布局

左列和右列宽度恒定,中间列的宽度根据浏览器窗口的大小自适应。

圣杯布局

同双飞翼布局一样,左列和右列宽度恒定,中间列的宽度根据浏览器窗口的大小自适应,不过更加完整。

原文地址:https://juejin.cn/post/7237004563647299642

相关文章
|
1月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
Flex 布局 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 一、Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
231 1
|
8月前
|
前端开发 API 开发者
harmonyOS基础- 快速弄懂HarmonyOS ArkTs基础组件、布局容器(前端视角篇)
本文由黑臂麒麟(6年前端经验)撰写,介绍ArkTS开发中的常用基础组件与布局组件。基础组件包括Text、Image、Button等,支持样式设置如字体颜色、大小和加粗等,并可通过Resource资源引用统一管理样式。布局组件涵盖Column、Row、List、Grid和Tabs等,支持灵活的主轴与交叉轴对齐方式、分割线设置及滚动事件监听。同时,Tabs组件可实现自定义样式与页签切换功能。内容结合代码示例,适合初学者快速上手ArkTS开发。参考华为开发者联盟官网基础课程。
722 75
harmonyOS基础- 快速弄懂HarmonyOS ArkTs基础组件、布局容器(前端视角篇)
|
编解码 前端开发 JavaScript
.NET_web前端框架_layui_栅格布局
【8月更文挑战第27天】
232 4
|
Web App开发 前端开发 JavaScript
前端开发的秘密武器:这些工具让你轻松应对各种复杂布局!
【10月更文挑战第31天】前端开发充满挑战,尤其是在处理复杂布局时。本文介绍了几种关键工具和技术,如HTML和CSS基础、Firefox开发者工具、Visual Studio Code以及Vue、React和Angular等前端框架,帮助开发者高效应对复杂布局,提升代码质量和用户体验。
168 2
|
前端开发 容器
前端技术分享:利用CSS Grid布局实现响应式设计
【10月更文挑战第1天】前端技术分享:利用CSS Grid布局实现响应式设计
|
前端开发 容器
前端基础(十五)_多栏布局(两列自适应布局、圣杯布局---三列布局、双飞翼布局--三列布局、等高布局)
本文介绍了前端开发中的多种自适应布局技术,包括两列自适应布局、圣杯布局(三列布局)、双飞翼布局(三列布局)和等高布局。文章通过代码示例展示了如何使用HTML和CSS实现这些布局,以及如何通过flex布局简化实现过程。
561 2
|
弹性计算 前端开发 容器
【前端web入门第六天】02 flex布局
Flex布局是一种现代CSS布局模式,通过给父元素设置`display: flex`,其子元素可自动挤压或拉伸。它包含弹性容器和弹性盒子,主轴默认为水平方向,侧轴为垂直方向。主轴对齐方式由`justify-content`属性控制,侧轴对齐方式包括`align-items`(针对所有子元素)和`align-self`(针对单个子元素)。修改主轴方向使用`flex-direction`属性,`flex`属性用于控制子元素在主轴上的伸缩比例。此外,`flex-wrap`属性允许子元素换行,而`align-content`属性则定义多行对齐方式。
302 9
|
开发者 图形学 Java
Unity物理引擎深度揭秘:从刚体碰撞到软体模拟,全面解析实现复杂物理交互的技巧与秘诀,助你打造超真实游戏体验
【8月更文挑战第31天】物理模拟在游戏开发中至关重要,可让虚拟世界更真实。Unity作为强大的跨平台游戏引擎,内置物理系统,支持从刚体碰撞到布料模拟的多种功能。通过添加Rigidbody组件,可实现物体受力和碰撞;使用AddForce()施加力;通过关节(如Fixed Joint)连接刚体以模拟复杂结构。Unity还支持软体物理,如布料和绳索模拟,进一步增强场景丰富度。掌握这些技术,可大幅提升游戏的真实感和玩家体验。
814 1
|
存储 JavaScript 前端开发
vue前端自适应布局,一步到位所有自适应
【8月更文挑战第9天】在Vue前端实现全面自适应布局颇具挑战,但可通过多种方法达成接近目标的效果。首先,结合BootstrapVue或Element UI等响应式框架简化布局实现过程;其次,利用Sass或Less等预处理器增强CSS编写灵活性;再者,发挥Vue的响应式特性,动态调整组件尺寸与位置;同时采用Flexbox及媒体查询技术确保不同屏幕尺寸下的一致体验;针对移动设备,采取移动优先策略并使用专门框架优化表现;最后,多平台测试与细致调优保证布局效果。综合运用上述策略,可在复杂多变的设备环境中打造近乎完美的自适应布局。
942 1
|
JavaScript 前端开发
网页前端课程设计-【模仿】香港中文大学官网,轮播图及div+css布局,js的dom操作
这篇文章介绍了如何模仿香港中文大学官网进行网页前端课程设计,包括使用div+css布局、js的DOM操作以及实现轮播图等技术细节。

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
  • 2
    前端工程化演进之路:从手工作坊到AI驱动的智能化开发
  • 3
    Vue 3 + TypeScript 现代前端开发最佳实践(2025版指南)
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式