纯CSS实现宽高相等(或者其他比例)

动态实现宽高相等以及其它比例,一般使用的是JS。这次介绍一种使用纯CSS实现的方法。

基础结构与样式:

12

<div class="box"></div>

1234

.box{width:100px;background-color:#ddd;}

1.宽:高 = 1:1

12345

.box:after{content:'';display:block;padding-top:100%;}

2.宽:高 = 1:2

12345

.box:after{content:'';display:block;padding-top:200%;}

3.宽:高 = 2:1

12345

.box:after{content:'';display:block;padding-top:50%;}

动态修改一下宽度,会发现高度会自动跟着变化,并保持相应比例。原理很简单:

首先看下padding的取值:

length: 长度表示法 percentage: 百分比表示法,padding百分比的计算是基于生成的框的包含块的宽度 auto: 自动

百分比的参考值是包含块的宽度,所以padding值的变化会随着宽度变化,其实颜色块的高度padding撑起来的。

原文发布于微信公众号 - 前端黑板报(FeHeiBanBao)

原文发表时间:2016-01-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏林德熙的博客

WPF 在image控件用鼠标拖拽出矩形

今天有小伙伴问我一个问题,在image控件用鼠标拖拽出矩形,本文告诉大家如何使用鼠标画出矩形

1391
来自专栏WindCoder

Ps中懵懂斋老师的抽线方法

首先,打开要抽线的图片(Ctrl+O),复制图层(Ctrl+J)。抽线效果一般不需要保留色彩。使用图像>调整>去色(Shift+Ctrl+U),然后再复制一个图...

1251
来自专栏专注数据中心高性能网络技术研发

[Python]Matplotlib绘图基础

1.简介 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。 ---- 2.绘图基础 2...

4047
来自专栏jojo的技术小屋

原 荐 CSS3 transform 引起z

1804
来自专栏进步博客

[老法新用]使用padding-top:(percentage)实现响应式背景图片

处理响应式布局中背景图片的简单方法是等比例缩放背景图片。我们知道宽度设为百分比的  <img> 元素,其高度会随着宽度的变化自动调整,且其宽高比不变。如果想在背...

1183
来自专栏腾讯IVWEB团队的专栏

SVG 动画精髓(下)

线条动画 SVG 中的线条动画常常用作过渡屏(splash screen)中。例如:一些比较炫酷的 LOGO 和 炫酷的效果,大家有没有动心想学一学,看看自己到...

5330
来自专栏WindCoder

20种常用的 Ps技术

一种简单的数码照片后期润饰 1 打开图片,执行色像/饱和度(-40)降低饱和度。 2 新建一图层,将图层模式改为柔光,用画笔工具将需要润饰的部分画几下,这里...

1451
来自专栏xingoo, 一个梦想做发明家的程序员

BootStrap网格布局

  如何使用BootStrap样式   BootStrap与其他的开源库类似,直接引用它的css样式文件就可以使用了。 <link rel="styleshee...

20610
来自专栏算法channel

Python-GUI|Label显示图片,Pack布局控件

01 Label显示图片 Label显示文本很简单,直接在构造中将text显示地赋值。 如果Label显示成图片,如何设置? PhotoImage构造出图片,...

5186
来自专栏PPV课数据科学社区

[V课堂]R语言十八讲(七)

? R的画图功能是非常强大的,这非常有利于数据可视化,对于R画图,我们一 般使用三个画图系统,分别是R自带的画图系统,另外还有两个包,他们的画图功能也很强...

2816

扫码关注云+社区