首页 > 其他分享 >只用CSS实现一个自适应的正方形

只用CSS实现一个自适应的正方形

时间:2024-04-29 12:00:26浏览次数:18  
标签:实现 top padding 正方形 宽度 只用 CSS

问题描述

  • 当一个div的宽度是自适应的,高度需要适配宽度的变化一起变化时,CSS的样式设置好像变得不那么容易
  • 或许大多数人都会选择js实现,没问题,性能低一点罢了
  • 但实际上纯css也能实现

代码

// html
<div class="container">
  <div class="father">
    <div class="son">test</div>
  </div>
</div>

// css
.father{
  width: 20%;
  height: 0;
  padding-top: 20%;
  position: relative;
}
.son{
  position: absolute;
}
  • 这样就实现了,其实原理就是运用了padding和margin属性的百分比值,是相对于宽度而言的,所以设置padding-top等于宽度,height=0,就意味着用padding来做div的高度,就实现了正方形
  • 当然运用这个属性,不一定是正方形,比如设置padding-top为10%,width的一半,那么就是个2:1的长方形
  • 至于设置定位,是因为padding把father的内容挤下去了,用绝对定位方便子元素定位

标签:实现,top,padding,正方形,宽度,只用,CSS
From: https://www.cnblogs.com/mizuki-vone/p/18165384

相关文章

  • CSS Grid 布局
    CSSGrid布局https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_grid_layout/Basic_concepts_of_grid_layouthttps://ruanyifeng.com/blog/2019/03/grid-layout-tutorial.html1.container和item采用网格布局的区域,称为"容器"(container)。container内部采用网格定位......
  • PostCss
    PostCss类似于一个编译器,可以将样式源码编译成最终的CSS代码PostCss和LESS、SASS的思路不同,它其实只做一些代码分析之类的事情,将分析的结果交给插件,具体的代码转换操作是插件去完成的。官方的一张图更能说明postcss的处理流程:这一点有点像webpack,webpack本身仅做依赖分析、......
  • uniapp-common.css
    /*by:https://www.cnblogs.com/zzz7/p/15593167.html*/page{height:100%;width:190%;background-color:#F8F8F8;}.container{height:100%;width:100%;}/*主题色*/.main-color{color:#1bbf80;}.white-color{color:#ffffff;......
  • 制作表格/表单并用CSS美化
    制作表格用到background-img设置表头背景图片(导航栏也可以这么用)用到设置单双行不同颜色的方法用到合并列colspan=number,合并行用rowspan=number用到设置表格范围宽度方法<html><head><!--Ctrl+S保存后就可以刷新浏览器预览--><metahttp-equiv="Content-t......
  • html+css布局小技巧
      <!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="......
  • [笔记]html+css基础知识
    1.html标签单标签<br/>:换行用<meta/>:存字符编码,作者,版权,关键字,网页说明等信息,不显示在浏览器中a.比如:<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/><hr/>:插入一条水平线,两个标签表示插入两条<img/>:插入图片a.src是图像存储url或名......
  • css设置竖向滚动条样式
    divId为div标签的id,内容过多,会出现竖向滚动条。<divid="divId">xxx</div>设置滚动条样式:/*设置滚动条的样式*/#divId::-webkit-scrollbar{width:10px;box-sizing:border-box;}/*滚动条滑块*/#divId::-webkit-scrollbar-thumb{height:5px;......
  • 一些css样式
    伪类使用:.active鼠标点击时的样式--a:link{color:#000000;}/*未访问链接*/a:visited{color:#00FF00;}/*已访问链接*/a:hover{color:#FF00FF;}/*鼠标移动到链接上*/a:active{color:#0000FF;}/*鼠标点击时*/cursor:pointer;可点击的光标样式--cursor:de......
  • CSS-vmin&vmax单位
    vmin和vmax单位vmin是相对于视口宽度和高度中较小值进行计算,它的值为视口宽度和高度中的较小值的百分比。例如,如果视口宽度为800px,高度为1000px,那么1vmin等于8px(800px的1%)。vmax是相对于视口宽度和高度中较大值进行计算,它的值为视口宽度和高度中的较大值的百分比。......
  • table固定表头和列 css实现表格固定表头
    Hello,大家好,我是站长鹏仔,本次鹏仔开发的项目中,实现出功能如图所示,固定表格的头部和左侧,在超出时滚动条滚动悬浮,之前给大家写过一次表格表头固定,是用占位的方式(https://www.sharedbk.com/post/178.html),太麻烦了,本次给大家分享一个更简单的方法。本次主要用到的css属性是粘性定位......