【前端】css样式视口、布局

news2024/10/10 8:23:33

一、 视口概念

视口(viewport)是用来约束网页中最顶级块元素的,即它决定了网页的大小,网页是先在视口上渲染,然后再通过视口放回到浏览器窗口上的,网页的渲染过程如下:
在这里插入图片描述
pc端视口的大小和浏览器的大小一样,所以网页是1:1的放到浏览器窗口上,而移动端视口就有点特殊,移动端视口的宽度是比移动端屏幕要宽,宽度尺寸一般是980px或者1024px,网页是视口上渲染完之后,为了能在移动端屏幕上显示整个网页,整个视口会整体缩放到屏幕的宽度,这样,网页看上去就整体缩放

1.视口分类:

布局视口 - 弃用 (deprecate)
视觉视口 - 弃用 (deprecate)
理想视口 - 开发主流

2.布局视口 layout viewport

一般移动设备的浏览器都默认设置了一个布局视口,用于解决早期的PC端页面在手机上显示的问题。

iOS, Android基本都将这个视口分辨率设置为 980px,所以PC上的网页大多都能在手机上呈现,只不过元素看上去很小,一般默认可以通过手动缩放网页。
在这里插入图片描述

3.视觉视口 visual viewport

字面意思,它是用户正在看到的网站的区域。注意:是网站的区域 。

我们可以通过缩放去操作视觉视口,但不会影响布局视口,布局视口仍保持原来的宽度。
在这里插入图片描述

3.理想视口 ideal viewport

为了使网站在移动端有最理想的浏览和阅读宽度而设定

理想视口,对设备来讲,是最理想的视口尺寸

需要手动添写meta视口标签通知浏览器操作

meta视口标签的主要目的:布局视口的宽度应该与理想视口的宽度一致,简单理解就是设备有多宽,我们布局的视口就多宽。

meta视口标签

<meta name="viewport" content="width=device-width, user-scalable=no, 
initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  • width 宽度设置的是viewport宽度,可以设置device-width特殊值
  • initial-scale 初始缩放比,大于0的数字
  • maximum-scale 最大缩放比,大于0的数字
  • minimum-scale 最小缩放比,大于0的数字
  • user-scalable 用户是否可以缩放,yes或no(1或0)

标准的viewport设置

  • 视口宽度和设备保持一致
  • 视口的默认缩放比例1.0
  • 不允许用户自行缩放
  • 最大允许的缩放比例1.0
  • 最小允许的缩放比例1.0

二、css样式布局总结

(主要针对移动端以及pc端网页需要实现等比放大缩小页面效果)
大概有以下几种

1、流体布局
流体布局其实就是宽度用百分比,高度用固定值的布局方式,宽度通过百分比来适配不同宽度的屏幕。

为了适配手机端不同尺寸的屏幕,我们在定义元素宽度的时候可以写百分比,百分比是相对于屏幕的宽度,所有宽度就可以做到自适应,而在高度方向,由于网页的高度是不定的,所以我们可以把高度写成固定的值(px),这种布局方式叫做流体布局。

1、box-sizing: border-box;
将盒子设置成border-box,这个时候,width和height的尺寸就是盒子的真实尺寸, 盒子加边框和内边距都不会改变盒子尺寸。

2、width:calc(25% - 2px);
使用calc属性,将宽度尺寸设置为动态计算后的尺寸,这样就可以完成适配。

2、弹性盒模型布局flex
这种布局方式是通过css3新增的一些辅助布局的样式属性来制作布局的方式。

3、rem布局
rem是一种相对长度单位,通过这个长度单位可以实现元素宽高等比例缩放,从而完成不同宽度屏幕的适配。

4、响应式布局 (媒体查询)
通过样式动态查询屏幕的宽度,动态切换样式来适配不同宽度屏幕的布局方式。
Bootstrap是最典型的一种

https://www.jianshu.com/p/55d6d357ee9e

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/190747.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python---类与对象

专栏&#xff1a;python 个人主页&#xff1a;HaiFan. 专栏简介&#xff1a;本专栏主要更新一些python的基础知识&#xff0c;也会实现一些小游戏和通讯录&#xff0c;学时管理系统之类的&#xff0c;有兴趣的朋友可以关注一下。 类与对象前言定义类创建对象前言 面向对象跟函…

河北如何推进农村生活污水处理?

自“十四五”以来&#xff0c;我国各地都针对地方农村人居环境的改善颁布相关方案&#xff0c;力图改善农村生活污水处理这一自本世纪初就始终困扰我国广大农村居民的难题。今天&#xff0c;小编就为大家介绍一下&#xff0c;湖北省针对农村污水处理所采取的最新措施。 河北地…

统计图表有哪几个种类及其特点

关于数据分析中常用统计图表的分类和各种图表的特点&#xff0c;这一张图就能概括&#xff01; 下面来展开说下&#xff0c;为了直观展示&#xff0c;给大家找了一份可视化统计图表的模板&#xff0c;可直接在线使用&#xff0c;需要的小伙伴自取哈。 点此领取模板>>htt…

端口映射和端口转发

文章目录端口转发定义端口映射的定义端口转发简介常见转发工具LCX1、目标机有公网lP2、端口映射3、目标机无公网IP端口转发和端口映射都是为了解决内网主机的端口无法在外部直接访问而衍生出来的技术&#xff0c;通过中间服务器进行中转&#xff0c;将内部的端口映射到公网IP上…

【AI-NLP】Transformer理论及源码理解

文章目录提出背景总体结构EncoderDecoder细节再探源码阅读主函数部分主模型定义编码器编码层多头自注意力层前馈神经网络层Masked解码器解码层参考资料提出背景 改进了RNN的训练慢的缺点&#xff0c;利用self-attention机制实现并行计算。并且Transformer可以增加到非常深的深…

用css实现简易报警灯

主题 用css来实现一个简易的报警灯效果 实现效果 实现思路 实现的核心是一个灯罩和一个灯芯。灯罩主要是使用了border-radius圆角边框&#xff0c;灯芯主要是radial-gradient径向渐变。再使用动画效果来实现一闪一闪的效果。让我们来一步一步实现效果。 灯罩实现 因为大…

剑指Offer 第18天 I. 二叉树的深度 II. 平衡二叉树

目录 剑指 Offer 55 - I. 二叉树的深度 剑指 Offer 55 - II. 平衡二叉树 剑指 Offer 55 - I. 二叉树的深度 输入一棵二叉树的根节点&#xff0c;求该树的深度。从根节点到叶节点依次经过的节点&#xff08;含根、叶节点&#xff09;形成树的一条路径&#xff0c;最长路径的长度…

2025年突破百万套/年,又一个前装赛道成为行业新风口

汽车智能化&#xff0c;不仅仅是增量&#xff0c;还有存量升级。 作为驾驶员观察道路状况的关键车载部件&#xff0c;汽车后视镜&#xff08;基于凸面镜&#xff09;最早出现在1906年&#xff0c;随后逐步成为所有车辆的基本标配。不过&#xff0c;由于镜面设计的缺陷&#xf…

【ROS学习】节点运行管理launch文件的基本操作

launch文件的概念和作用 launch 文件是一个 XML 格式的文件&#xff0c;可以启动本地和远程的多个节点&#xff0c;还可以在参数服务器中设置参数。 launch文件的作用是&#xff1a;简化节点的配置与启动&#xff0c;提高ROS程序的启动效率。 使用场景 launch文件在ros中使用还…

mybatis中获取插入数组的主键值(自增主键,非增主键),mp

1.自增主键的第一种写法 <insert id"addKey" ><!--通过mybatis框架提供的selectKey标签获得自增产生的ID值--><selectKey resultType"java.lang.Integer" order"AFTER" keyProperty"id">select LAST_INSERT_ID()<…

【Azure 架构师学习笔记】-Azure Logic Apps(5)- 标准和使用量类型的区别

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Logic Apps】系列。 接上文【Azure 架构师学习笔记】-Azure Logic Apps&#xff08;4&#xff09;-演示2 前言 在做实验的过程中&#xff0c;发现使用“使用量”&#xff08;Consumption)类型会出现很多问题&#xff…

碰到个阿里p8,终于知道了别人为什么这么强,算是见识到了基础的天花板

基础不行一切都是浮云&#xff0c;想要建成高楼大厦&#xff0c;必需基础牢固 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文&#xff0c;为此咱这里也统一做一次大整理和大归类&#xff0c;这也算是划重点了。 俗话说得好&#xff0c;他山之石&#xf…

Pointet++ Tutorial

目录 .0 前言 .1 Contributions .2 Solutions 2.1 Set Abstraction&#xff08;SA&#xff09; .3 Structure of Network 3.1 Sample layer 3.2 group 3.3 PointNet layer 3.4 分类任务在提取特征后是怎么操作的&#xff0c;loss是什么 3.5 分割任务中如何进行上采…

electron+vite+vue3.0+frorge最新打包流程

这里写自定义目录标题简介安装打包更多配置配置vue项目多平台打包mac osforge配置项简介 文章更新与2023年2月1日。 electron官网&#xff1a;https://www.electronjs.org electronforge官网&#xff1a;https://www.electronforge.io 环境要求&#xff1a;git、node14版本以…

Secure Hash Algorithm-3 (SHA-3) family

参考文献&#xff1a; Bertoni G, Daemen J, Peeters M, et al. Keccak[C]//Advances in Cryptology–EUROCRYPT 2013: 32nd Annual International Conference on the Theory and Applications of Cryptographic Techniques, Athens, Greece, May 26-30, 2013. Proceedings 32…

1分钟快速解读什么是实时渲染

古语云&#xff1a;工欲善其事必先利其器&#xff0c;在现代化的行业细分更加精确&#xff0c;不同行业为了实现更高的效率&#xff0c;也都有自己的专用软件工具或者设备。在数字孪生、虚拟仿真、设计类等行业也是如此&#xff0c;在创建3D模型时也是需要用到Unreal\Unity\May…

iptables 在 Android 抓包中的妙用

本文介绍一种在 Andorid 中实现单应用、全局、优雅的抓包方法。 此文于去年端午节编写&#xff0c;由于种种原因&#xff0c;当时藏拙并未发布。现删除一些敏感信息后分享出来&#xff0c;希望对各位有所启发。 背景 昨天在测试一个 Android APK 的时候发现使用 WiFi 的 HTTP …

软考高级系统架构师背诵要点---质量属性与架构评估

质量属性与架构评估 质量属性&#xff1a; 1.性能&#xff1a;指系统的响应能力&#xff0c;即要经过多长时间才能对某个事件做出响应&#xff0c;或者在某段时间内系统所能处理的事件个数 代表参数&#xff1a;响应时间、吞吐量 设计策略&#xff1a;优先级调度、资源调度…

【MyBatis】| MyBatis查询语句专题(核心知识)

目录 一&#xff1a;MyBatis查询语句专题 1. 返回Car对象 2. 返回List<Car> 3. 返回Map 4. 返回List<Map> 5. 返回Map<String,Map> 6. resultMap结果映射 7. 返回总记录条数 一&#xff1a;MyBatis查询语句专题 前期准备&#xff1a; 模块名&#xf…

为什么计算机需要操作系统?

当计算机只运行一个程序时&#xff0c;只需将所有的资源(CPU、内存、磁盘等)分配给这一个程序就行&#xff1b;当计算机同时运行2个或以上程序时&#xff0c;操作系统就需要充当一下角色&#xff1a; 资源分配器资源隔离与秩序维护者细节屏蔽者 一. 资源分配器 计算机的硬件…