【CSS】保持元素宽高比

这篇具有很好参考价值的文章主要介绍了【CSS】保持元素宽高比。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

保持元素的宽高比,在视频或图片展示类页面是一个重要功能。
本文介绍其常规的实现方法。

实现效果

当浏览器视口发生变化时,元素的尺寸随之变化,且宽高比不变。
【CSS】保持元素宽高比,css,前端,保持宽高比

代码实现

我们用最简单的元素结构来演示,实现宽高比为4:3。

<div class="box"></div>
.box {
	width: 50%;
	margin: 100px auto;
	background-color: pink;
	height: // 要实现高度自适应,这里就不能固定高度了。
}

接下来我们介绍 2 种方案来实现。

aspect-ratio

在 CSS 中有一个 aspect-ratio 属性专门来做这件事情。我们只需增加一行代码即可实现上述效果。

.box {
	width: 50%;
	margin: 100px auto;
	background-color: pink;
	aspect-ratio: 4 / 3;
}

优点:实现简单。
缺点:兼容性一般。
【CSS】保持元素宽高比,css,前端,保持宽高比

如果你介意 aspect-ratio 的兼容性问题,这里还有另一种办法实现。

Padding 大法

直接上完整代码:

<div class="box">
  <div class="inner-box">
     <div class="container">
       <!-- 这里放实际的内容 -->
     </div>
   </div>
</div>
.box {
	width: 50%;
	margin: 100px auto;
	background-color: pink;
}

.inner-box {
	 width: 100%;
	 padding-bottom: 75%;
	 position: relative;
}

.container {
	 position: absolute;
	 inset: 0;
}

这里我们 inner-boxpadding-bottom 来撑开高度,75% 相对于是其包含块(此处为box)的宽度,以此做到高度自适应。

由于inner-box 的高度为0,这里我们在其内部再加一个元素 container,并设置绝对定位 inset:0来撑满宽高。

使用这种方式,虽然实现起来麻烦一点,但兼容性最好。

以上就是保持元素宽高比的两种实现方式。文章来源地址https://www.toymoban.com/news/detail-806445.html

到了这里,关于【CSS】保持元素宽高比的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CSS笔记(黑马程序员pink老师前端)选择器,字体,文本属性,Emmet语法,元素显示模式,CSS背景

    选择器分为基础选择器和复合选择器两大类。 基础选择器 包括:标签选择器、类选择器、id选择器和通配符选择器。 多类名 可以把一些标签元素共同的样式放到一个类里面。这些标签都可以调用这个公共的类,然后再调用自己独有的类。 复合选择器 基础选择器的组合.包括后

    2024年02月09日
    浏览(57)
  • 〖大前端 - 基础入门三大核心之JS篇㊲〗- DOM改变元素节点的css样式、HTML属性

    说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费 , 如需要项目实战或者是体系化资源,文末名片加V! 作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作,目前在公司担任研发部门CTO。 荣誉: 2022年度博客之星Top4、2023年度超

    2024年02月04日
    浏览(59)
  • css如何隐藏垂直滚动条但同时需保持滚动

    前言 在写前端页面时,对于超出的内容,我们希望隐藏,同时保持垂直的滚动,但是又不希望有丑陋的垂直滚动条,那该怎么去实现呢 实现方式有很多种,可以用iscroll插件,也可以用css去解决 01 方法1-计算滚动条宽度并隐藏起来 这种方法主要是通过计算滚动条宽度,给隐藏起来的,如下

    2024年02月15日
    浏览(52)
  • 【Tailwind CSS】当页面内容过少,怎样让footer保持在屏幕底部?

    footer通常写版权信息等,显示在页面底部。如果页面内容过少,则footer会出现在屏幕中间位置,很尴尬。在 Tailwind 中,你可以使用flex来实现footer保持在屏幕或页面底部。 代码: 用flex包裹全部页面内容,footer设置类名:mt-auto 即可。 参考:playground

    2024年02月08日
    浏览(38)
  • css面试题:css隐藏元素的方式

    特点:父元素设置该属性时,子元素同样会生效,但可以通过visibility:visible;修改子元素的显示效果; 特点:作用是从dom中移除节点,所以子元素也会被移除掉, 该方法通过改变元素透明度来实现隐藏,但需要注意父元素设置为opacity:0后,子元素会继承父元素该属性的效果,

    2024年02月13日
    浏览(37)
  • CSS基础:块状元素、内联元素、内联块状元素(行内元素)

    CSS中,html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素。 1.常用的块状元素有: 2.常用的内联元素有: 3.常用的内联块状元素有: 什么是块级元素?在html中 就是块级元素。设置display:block就是将元素显示为块级元素。如下代码

    2023年04月12日
    浏览(50)
  • 编程笔记 html5&css&js 053 CSS伪元素

    CSS 伪元素用于设置元素指定部分的样式。 什么是伪元素? 设置元素的首字母、首行的样式 在元素的内容之前或之后插入内容 语法 伪元素的语法: ::first-line 伪元素用于向文本的首行添加特殊样式。 下面的例子为所有 p 元素中的首行添加样式: ::first-line 伪元素只能应用于

    2024年01月23日
    浏览(76)
  • css元素显示模式

    2024年02月06日
    浏览(32)
  • css 伪元素和浮动

    效果 伪元素 CSS 伪元素用于设置元素指定部分的样式。 例如,它可用于: 设置元素的首字母、首行的样式 在元素的内容之前或之后插入内容 效果 浮动 早期:图文环绕 现在:网页布局 图文环绕 浮动特点 浮动的标签 顶对齐 浮动: 在一行排列, 宽高生效 – 浮动后的标签具备

    2024年02月13日
    浏览(50)
  • CSS元素浮动

    在最初,浮动是用来实现文字环绕图片效果的,现在浮动是主流的页面布局方式之一。 脱离文档流。 不管浮动前是什么元素,浮动后,默认宽与高都是被内容撑开的(尽可能小),而且可以设置宽高。 不会独占一行,可以与其他元素共用一行。 不会margin合并,也不会margi

    2024年02月09日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包