css 中计算图片占屏幕高度的百分之几 缩放不变形

本文详细介绍了 CSS3 中的视窗单位 vw、vh 和 vm 的使用方法,并通过实例展示了这些单位如何根据浏览器窗口的大小进行动态调整。此外,还对比了 height:100% 和 height:100vh 的差异,以及如何实现图片按比例缩放不变形。
vw
css3新单位,view width的简写,是指可视窗口的宽度。假如宽度是1200px的话。那10vw就是120px
举个例子:浏览器宽度1200px, 1 vw = 1200px/100 = 12 px。


vh
css3新单位,view height的简写,是指可视窗口的高度。假如高度是1200px的话。那10vh就是120px
举个例子:浏览器高度900px, 1 vh = 900px/100 = 9 px。


vm
css3新单位,相对于视口的宽度或高度中较小的那个。其中最小的那个被均分为100单位的vm 举个例子:浏览器高度900px,宽度1200px,取最小的浏览器高度,1 vm = 900px/100 = 9 px。

关于height:100%和height:100vh的区别

vh就是当前屏幕可见高度的1%,也就是说

height:100vh == height:100%;

但是当元素没有内容时候,设置height:100%,该元素不会被撑开,此时高度为0,

但是设置height:100vh,该元素会被撑开屏幕高度一致。

 

css图片按比例缩放不变形

<img style="max-width:80px;max-height:80px;">
<img style="max-width:80%;max-height:80%;width:auto;">

宽度或高度中较小的那个会生效,使其不会超过框格

### 浏览器缩放时保持网页元素变形的解决方案 为了确保在浏览器缩放过程中,网页上的元素会发生变形或错位,可以采用以下方法: #### 使用 `transform` 的替代方案 当使用 CSS 中的 `scale()` 函数时,可能会因为同的渲染引擎而导致视觉差异。为了避免这种情况,可以通过调整布局方式来减少依赖于 `scale()` 的需求。例如,利用相对单位(如 `%`, `em`, 或 `rem`),可以使元素尺寸动态适应页面缩放[^1]。 ```css .element { width: 50%; /* 动态宽度 */ height: auto; /* 自动高度 */ } ``` #### 设置视口元标签 通过设置 `<meta>` 标签中的 viewport 属性,可以让页面更好地适配各种设备和分辨率下的缩放行为。这有助于防止因屏幕比例变化而引起的样式问题[^2]。 ```html <meta name="viewport" content="width=device-width, initial-scale=1.0"> ``` #### 防止子元素偏移的技术 如果发现某些情况下应用了 `scale()` 后,子元素的位置出现了偏差,则可能是因为父容器未正确处理定位关系所致。此时应考虑为父级添加 `transform-style: preserve-3d;` 和 `perspective` 来维持三维空间内的稳定性。 ```css .parent { transform-style: preserve-3d; perspective: 1000px; } .child { transform: scale(1.5); } ``` #### 增强兼容性的建议 对于跨平台一致性的问题,除了上述措施外,还应当测试目标用户的主流浏览器版本,并针对特定环境提供回退策略或者 polyfill 支持。此外,在开发阶段就引入自动化工具检测潜在的兼容性隐患也是很有帮助的做法之一。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值