为了账号安全,请及时绑定邮箱和手机立即绑定

javascript 如何实现高度随着宽度的变化而变化,

javascript 如何实现高度随着宽度的变化而变化,

呼啦一阵风 2019-04-18 15:19:44
js如何实现,如果width="200px"的话,height:也自动等于200px;<style type="text/css"> #box li{ float:left;width: 100px; height: 100px; backgrounnd-color:#f60;} </style> <ul id='box'> <li></li>  <li></li> <li></li> </ul>
查看完整描述

8 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

宽度是通过什么动作触发的呀?可以通过触发事件,写一个重新改变box属性值方法。


查看完整回答
反对 回复 2019-05-12
?
侃侃无极

TA贡献2051条经验 获得超10个赞

如果元素width是直接或间接的通过js代码改变的话。在那行js代码之后加上
domObj.style.height = (domObj.currentStyle||getComputedStyle(domObj,null)).width;

如果元素width是因为浏览器窗口尺寸变化改变的话。可以在window.onresize中设置

window.onresize = function() {
    domObj.style.height = (domObj.currentStyle||getComputedStyle(domObj,null)).width;
}


查看完整回答
反对 回复 2019-05-12
?
森栏

TA贡献1810条经验 获得超5个赞


<style>

    #box {

      width: 100%;

      height: auto;

      overflow: hidden;

    }

    #box li{

      position: relative;

      float: left;

      width: 200px;

      border: 1px solid red;

    }

    #box li::before{

      content: '';

      display: block;

      width: 100%;

      padding-top: 100%;

    }

  </style>

使用伪元素撑起li的高度,使得li保持正方形。
li里面的内容需要使用div包裹一下,使用position固定定位在li上。

查看完整回答
反对 回复 2019-05-12
?
交互式爱情

TA贡献1712条经验 获得超3个赞

你的宽度变化是改变浏览器窗口大小还是代码中赋的值?


查看完整回答
反对 回复 2019-05-12
?
富国沪深

TA贡献1790条经验 获得超9个赞

$("#box").find("li").each(function(index,value){ var $width=$(value).width(); $(value).height($width); });

https://img1.sycdn.imooc.com//5cd7c8a2000130f103520145.jpg

以上是代码,还有实现的效果截图


查看完整回答
反对 回复 2019-05-12
  • 8 回答
  • 0 关注
  • 568 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信