css自适应正方形的方案

抽象流星
• 阅读 1789
  1. 经过搜索查找,总结几种常用的css自适应的正方形的解决方案: html代码:

        <div style="width:100px;">
       <div class="z"><!-- 此处有无内容亦会影响 --></div>
        </div>     

    以下为几种解决方案:

    1. 利用padding-bottom:100%撑开,如果无内容可不设置height:0;这一项,如果有内容的情况下还想保持为正方形,则需要设置height:0;

        .z{
            width: 100%;
            padding-bottom: 100%;
            border: 1px solid red;
            height: 0;   
         } 
    1. 利用after伪类,先存在问题是,如果加入内容则高度会被撑开,而设置height:0并不能解决这一问题,有待研究,如果大家有好的方案,可以留言

    .z {
        width: 100%;
        border: 1px solid red;   }
         .z:after {
        content: '';
        display: block;
        margin-top: 100%;   
    }
    
    1. 利用padding:50% 0;原理和padding-bottom:100%大致相似,但是此处如果有内容则是从div的一半处开始。

          .z {
            width: 100%;
            padding: 50% 0;
            border: 1px solid red;
            height: 0;
          } 
    
    1. 网上搜罗的一个方法,利用vm,代码如下,不过本人木有实现成功,欢迎大家留言已实现成功的demo。并且这个方法兼容性目前来说还较差。所以放在最后一个,不太推荐,不过还是很好奇,这个东西是怎么实现的。

        .z {
            width: 100%;
            height: 100vm;
            border: 1px solid red;   
        }
    
点赞
收藏
评论区
推荐文章
菜园前端 菜园前端
2年前
CSS布局方式-自适应布局
原文链接:什么是自适应布局?在不同屏幕分辨率下,能够以最佳的方式进行展示,元素的宽度尺寸可能会改变,但是原有的展示方式不会改变。通常使用%单位来实现自适应布局。优点页面能够兼容不同分辨率的屏幕。缺点因为开发的时候需要考虑多种分辨率下的情况,会额外增加一些工
Easter79 Easter79
3年前
svg自适应写法
svg自适应写法<pre<!DOCTYPEhtml<htmllang"en"<head<metacharset"UTF8"<titleDocument</title</head<body<divstyle"width:30%;height:3.6rem;"<svg
Stella981 Stella981
3年前
ASMSupport教程4.7 生成关系运算符
<p在java中,关系运算符是很常用的,分别是&gt;,,&lt;,&gt;,&lt;,!这六种,我们按照惯例看看我们需要生成的代码:</p<divid"scid:9D7513F9C04C4721824A2B34F0212519:dfec0f1ca2ec4ebabc9b91c161fbfa47"class"wlWri
Wesley13 Wesley13
3年前
2020 全球 CSS 报告,大家都在用什么样的技术?
本文来源与公众号「秋风的笔记」介绍CSS从1994年10月首次被提出,到目前为止已经20余年,但是CSS早已发生了天翻地覆的变化,2020的CSS 又是如何的呢?我们现在可以使用CSSGrid轻松制作动态或响应式的布局,以更少的代码来进行自适应布局。CSSinJS无需依赖全局样式表,我们可以将样式与组件写在一起
Stella981 Stella981
3年前
CSS之border绘制三角形
用CSS的border可以画出高质量的三角形。我们一般会这么使用border:testborder{width:100px;height:100px;margin:100pxauto;background:fff;border:2px
Stella981 Stella981
3年前
Python+Selenium练习篇之5
前面介绍了,XPath,id,class,linktext,partiallinktext,tagname,name七大元素定位方法,本文介绍webdriver支持的最后一个方法:by\_css。css和XPath类似,也需要掌握一些语法,才能写出正确的,完整的css选择表达式。相关脚本代码如下:codingu
Stella981 Stella981
3年前
Sass
嵌套规则(NestedRules)Sass允许将一套CSS样式嵌套进另一套样式中,内层的样式将它外层的选择器作为父选择器mainp{color:00ff00;width:97%;.redbox{
Wesley13 Wesley13
3年前
4,MongoDB 之 $关键字 及 $修改器 $set $inc $push $pull $pop MongoDB
MongoDB中的关键字有很多,$lt$gt$lte$gte等等,这么多我们也不方便记,这里我们说说几个比较常见的一.查询中常见的等于大于小于大于等于小于等于等于:在MongoDB中什么字段等于什么值其实就是":"来搞定比如"name":"路飞学城"!(https://oscimg.oschin
Wesley13 Wesley13
3年前
MongoDB 范围查询
查询价格在2009000  $gt 大于   $lt  小于//查询价格2009000范围的数据db.prodgory.find({"price":{$gt:"200",$lt:"9000"}})查询给定范围数据  $in//给定范围查询db.product1.find({"categor
小万哥 小万哥
1年前
资源描述框架的用途及实际应用解析
RDF(资源描述框架)是一种用于机器理解网络资源的框架,使用XML编写。它通过URI标识资源,用属性描述资源,便于计算机应用程序处理信息。RDF在语义网上促进信息的确切含义和自动处理,使得网络信息可被整合。RDF语句由资源、属性和属性值组成。RDF文档包括&lt;rdf:RDF&gt;根元素和&lt;rdf:Description&gt;元素,后者用about属性标识资源。RDF还支持容器(如&lt;Bag&gt;、&lt;Seq&gt;和&lt;Alt&gt;)来描述集合。RDFS是RDF的扩展,提供描述类和属性的框架,而达布林核心是一组预定义属性,用于描述文档。
小万哥 小万哥
1年前
RSS 解析:全球内容分发的利器及使用技巧
RSS(ReallySimpleSyndication)是一种XML格式,用于网站内容的聚合和分发,让用户能快速浏览和跟踪更新。RSS文档结构包括&lt;channel&gt;和&lt;item&gt;元素,允许内容创作者分享标题、链接和描述。通过RSS,用户可以定制新闻源,过滤不相关信息,提高效率。RSS支持不同版本,如RSS0.91和RSS2.0,其中RSS2.0语法简单且广泛使用。RSS提高网站流量,适用于新闻、博客、日历等频繁更新的站点。RSS的历史始于1997年,至今仍无官方标准,但已成为内容共享的重要工具。