css实现自适应正方形的方法 http://www.cnblogs.com/dantis/archive/2017/05/12/6846611.html

页面布局中,我们经常需要用百分比来实现宽度自适应,但是如果这时候高度要跟宽度呈固定比例变化,该怎么办呢?

很简单,我们可以利用元素的padding或margin的百分比值是参照宽度的这一特性来实现,

即如果元素的padding或margin值是百分比值,那么,它的值是根据父元素的宽度来计算的。

所以,实现一个自适应的正方形,可以有两种写法:

可以这么写:

1 <style>
2     .box{
3         width: 50%;
4         padding-top: 50%;
5         background-color: black;
6     }
7 </style>
8 <div class="box"></div>

也可以这么写:

 1 <style>
 2         .box{
 3             overflow: hidden;
 4             width: 50%;
 5             background-color: black;
 6         }
 7         .margin{
 8             margin-top: 100%;
 9         }
10     </style>
11     <div class="box">
12         <div class="margin"></div>
13     </div>

两种方法略有不同,大家可以自行比较,也可以脑洞一些其他方法。

收工!

时间: 2024-09-28 22:22:24

css实现自适应正方形的方法 http://www.cnblogs.com/dantis/archive/2017/05/12/6846611.html的相关文章

css实现自适应正方形的方法

页面布局中,我们经常需要用百分比来实现宽度自适应,但是如果这时候高度要跟宽度呈固定比例变化,该怎么办呢? 很简单,我们可以利用元素的padding或margin的百分比值是参照宽度的这一特性来实现, 即如果元素的padding或margin值是百分比值,那么,它的值是根据父元素的宽度来计算的. 所以,实现一个自适应的正方形,可以有两种写法: 可以这么写: 1 <style> 2 .box{ 3 width: 50%; 4 padding-top: 50%; 5 background-color

CSS布局自适应高度解决方法

这是一个比较典型的三行二列布局,每列高度(事先并不能确定哪列的高度)的相同,是每个设计师追求的目标,按一般的做法,大多采用背景图填充.加JS脚本的方法使列的高度相同,本文要介绍的是采用容器溢出部分隐藏和列的负底边界和正的内补丁相结合的方法来解决列高度相同的问题. 先看代码: 1 #wrap{ 2 overflow: hidden; 3 } 4 5 #sideleft, #sideright{ 6 padding-bottom: 32767px; 7 margin-bottom: -32767px

CSS实现自适应正方形、等宽高比矩形

1.利用vw.vh.vmin.vmax,vw表示的是viewport的宽度,也就是视口的宽度,vh表示的是视口的高度,vmin=min{vw,vh}取的是两者中较小的值,vmax ={vw,vh},1vm = 1% viewport width其他同理,所以利用上诉的单位来定义矩形的宽高即可实现等比变换. 1 div{ 2 width :1vm; 3 height:1vm; 4 } 2.利用垂直方向上的padding值,当容器中的内容超过了容器的宽高时,容器的内容会扩充到padding中,同时p

css中 Span 元素的 width 属性无效果原因及多种解决方案(转自http://www.cnblogs.com/hnyei/archive/2012/03/12/2392026.html)

先运行下程序看下: <span style='width:300px;'>123</span> 输出:123 可以看到 span会自动根据包含的内容来变化宽度 这是因为:对于内联元素(可以是默认即为内联的比如 span 元素,也可以是 display: inline 的元素) width 和 height 只在 IE5.x 下和 IE6 或更新版本的 quirks 模式下触发 hasLayout .而对于 IE6,如果浏览器运行于标准兼容模式下,内联元素会忽略 width 或 he

性能分析:处理器、磁盘I/O、进程、网络分析方法 http://www.cnblogs.com/fnng/archive/2012/10/30/2747246.html

------windows操作系统 windows系统下的计数器比较多,主要技术器如下: CPU分析                                                                                          那么我们CPU性能最直接的评估就是查看其CPU工作频率,就是CPU的时钟频率,单位为是Hz.随着CPU的发展,主频由MHz现在的GHz (1GHz=1000MHz=1000000KHz=1000000000Hz) 处理器

CSS-实现三角形、梯形、平行四边形、圆形、椭圆形、对话框、自适应正方形

本文篇幅较长,希望能坚持看完,转载请注明出处,如果觉得好文请给个赞吧 CSS实现梯形 CSS实现三角形和梯形主要是依靠border是梯形的特性来做的,有点像相框的那种感觉. 首先我们先给一个正方形设置比较宽的边框.如下. <div id="test1"></div> <style> #test1{ width: 50px; height: 50px; background: purple; border-top: 50px solid red; bo

常见css垂直自适应布局(css解决方法)

css3的盒模型 <!DOCTYPE html> <html > <head> <title>div + css宽度自适应(液态布局)</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> /*左边栏,设定宽度*/

CSS实现自适应不同大小屏幕的背景大图的两种方法(转自简书)

CSS实现自适应不同大小屏幕的背景大图的两种方法 一张清晰漂亮的背景图片能给网页加分不少,设计师也经常会给页面的背景使用大图,我们既不想图片因为不同分辨率图片变形,也不希望当在大屏的情况下,背景有一块露白,简而言之,就是实现能自适应屏幕大小又不会变形的背景大图,而且背景图片不会随着滚动条滚动而滚动. 用CSS实现真的很简单很简单,下面我们来看一下第一种方法具体的代码: HTML代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <m

css高度自适应

转自:http://www.cnblogs.com/zhujl/archive/2012/03/20/2408976.html 高度自适应问题,我很抵触用js去解决,因为不好维护,也不够自然,但是纯用CSS,难度不小,比如下面我要说的例子. 需求: 1. 这个矩形的高度和浏览器窗口的高度相同,不能出现纵向滚动条 2. 绿色部分高度固定,比如50px 3. 紫色部分填充剩余的高度 HTML结构暂且如下: <div id="main"> <div id="nav