传统方法正方形用固定的形式写 直接长=宽写固定的值如下

.box{

width: 200px;

height: 200px;

background: pink;

color: #666;

}

但是很多情况下,在移动端的设计里,图片的宽度随着不同的移动设备进行改变的,这个时候就需要用到自适应的正方形的实现。

下面介绍两种比较简单的实现方法:

方法一:CSS3 vw 单位,vw是相对于视口的宽度。视口被均分为100单位的vw。1vw = 1% viewport width

.box{

width: 20%;//width:20vw也可以

height: 20vw;

background: pink;

}

方法二:设置盒子的padding-bottom样式,让盒子的padding-bottom和盒子的宽度一样,同时设置heigh = 0px;

*{

margin: 0;

padding: 0;

}

.box{

width: 20%;

/* 设置height为0 ,避免盒子被内容撑开多余的高度 */

height: 0px;

/* 把盒子的高撑开,

和width设置同样的固定的宽度或者百分比 ,

百分比相对的是父元素盒子的宽度 */

padding-bottom: 20%;

background: pink;

color: #666;

}

这是一个自适应的正方形

要注意的是,如果这里没有写height:0px;当盒子里面有内容的时候,盒子会被内容撑大

如果把padding-bottom改成padding-top会出现什么现象?

可以看出来在正方形中有内容的时候,内容会现实在正方形外面,这是因为默认文字是从左到右,从上到下的排列,所以paddin-top以后文字会在正方形外面,所以这里的paddin-bottom和padding-top并不能混用

另外因为盒子设置了heigh:0px;导致该元素里面再有子元素的时候,就无法正常设置高度。所以我们需要用到position: absolute;使当前内容脱离文档流,那么内容的高度百分比参照的就是父级的宽度

*{

margin: 0;

padding: 0;

}

.box{

width: 20%;

/* 设置height为0 ,避免盒子被内容撑开多余的高度 */

height: 0px;

/* 把盒子的高撑开,

和width设置同样的固定的宽度或者百分比 ,

百分比相对的是父元素盒子的宽度 */

padding-bottom: 20%;

background: pink;

color: #666;

position: relative;

overflow: hidden;

}

p{

position: absolute;

width: 100%;

height: 100%;

background: yellow;

}

这样子盒子里面的内容就把正方形占满啦

到此这篇关于CSS实现一个自适应的正方形的方法示例的文章就介绍到这了,更多相关CSS 自适应正方形内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

html在页面显示一个正方形,CSS实现一个自适应的正方形的方法示例相关推荐

  1. html 悬浮阴影,css实现悬浮效果的阴影的方法示例

    本文介绍了css实现悬浮效果的阴影的方法示例,分享给大家,具体如下: 要实现的效果图: 实现的代码: -webkit-box-shadow:0px 3px 3px #c8c8c8 ; -moz-box ...

  2. 数据库中的时间数据在页面显示时后面会多一个.0的问题

    数据库数据: 页面数据: 2020-08-11 14:24:11.0 2020-07-11 19:57:19.0 2020-06-18 17:01:50.0 2020-03-19 17:13:45.0 ...

  3. HTML页面显示透视效果,html – CSS – 对背景图像的“敲除”/透视效果

    我认为这里的想法是图像必须足够大,以覆盖网页或至少父母div .. 然后,您可以将图像应用于容器和'inner'div的背景. 覆盖可以通过伪元素而不是单独的div来实现. 修订结构 – .bck { ...

  4. html div 正方形,css实现高度自适应正方形

    CSS动画实例:正方形动画特效 设页面中有,若定义. square的样式规则如下:  .square  {    margin: 20px auto; bin/python# -*- coding: ...

  5. html 百分比正方形,css实现未知宽度的正方形需求

    今天群里有哥们问了一下,百分比宽度的正方形如何用css实现.其实就是不定宽的正方形如何用css实现. 第一个方法利用图片的等比例缩放,用base64写一个1*1的透明png图片,宽度100%,这样容器 ...

  6. python读取wps表格文件显示到动态页面中_Python实现读取txt文件并转换为excel的方法示例...

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  7. html 12306页面实现,jQuery模拟12306城市选择框功能简单实现方法示例

    本文实例讲述了jQuery模拟12306城市选择框功能简单实现方法.分享给大家供大家参考,具体如下: www.jb51.net jQuery城市选择框 #parent{ width:500px; po ...

  8. 使用CSS进行图片自适应的两个方法

    1.object-fit 属性 设置好图片的宽高,然后设置object-fit属性为contain就是常见的图片自适应效果. img {width: 400px;height: 400px;objec ...

  9. wordpress 独立 php,wordpress怎么把所有文章分类单独在一个页面显示

    如何让wordpress把所有文章分类单独在一个页面显示? 1.复制一个page.php文件改为page-abc.php,并在WordPress后台新建一个页面,固定链接地址改为abc(这个abc可随 ...

  10. HTML期末作业课程设计期末大作业——体育排球5页面带注册HTML+CSS+JS(学生网页设计作业源码)

    HTML期末作业课程设计期末大作业--体育排球5页面带注册HTML+CSS+JS(学生网页设计作业源码) 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手 ...

最新文章

  1. 经典的Java面试题及回答集锦
  2. Unity性能优化-遮挡剔除
  3. Leecode11. 盛最多水的容器——Leecode大厂热题100道系列
  4. 矩阵论基础知识4——强大的矩阵奇异值分解(SVD)及其应用
  5. 常见的并发模型_两个常见的并发错误
  6. android studio点击图片,如何在Android Studio中的模拟器图库中添加图像?
  7. 一个讲课截屏 清明DAY2
  8. SpringBoot前端Ajax以JSON格式获取后台数据
  9. 《美团数据平台及数仓建设实践》(209页).PDF
  10. ansible基本模块-server
  11. mysql 拼音排序_mysql汉字字段按拼音排序的方法
  12. Matlab-杆单元整体刚度矩阵组装(有限元基础-曾攀)
  13. 记2011 IOCCC Best one liner
  14. Java开发的发展前景和未来规划方向
  15. linux删除用户账户_如何在Linux中删除删除用户帐户?
  16. Exchange 2013 启用反垃圾邮件功能
  17. 如何取消PPT的密码保护?
  18. springframework(九)AOP的advices,中规中矩的使用方式
  19. 机器学习模型——回归模型
  20. vue为什么需要nodejs 的环境

热门文章

  1. 仿百度文库文档上传页面的多级联动分类选择器
  2. 流量控制理论与Sentinel
  3. 【Linux学习笔记04】Linux常用命令
  4. 已有虚拟磁盘多个vmdk文件导入虚拟机
  5. gae代码_GAE中的Java EE
  6. 王者战力接口(免费),附接口文档+小程序源码
  7. Android 插件化换肤 思路及实现
  8. 什么是SOCKS5代理 它的原理是什么
  9. 行测技巧:十字交叉法解决比值混合问题
  10. 敏捷其实很简单(7) Scrum Master的7种武器之长生剑和孔雀翎