是否可以根据另一个元素将style / css分配给一个元素?

时间:2016-05-04 13:25:37

标签: html css

我有一个3d派对库(fullcalendar),可以根据一些内部计算动态分配元素的高度,以便在任何视口中都看起来不错:

<div style="height: 72px;">

然而,对于所有元素都不会发生这种情况,有些元素具有固定的高度。我不想改变3d派对图书馆的代码,并且正在考虑是否可能以某种方式“#34; apply&#34;使用css将一个元素的样式转换为另一个元素。类似的东西:

.myDiv {
   height: anotherDiv.height
}

也许还有其他一些方法可以得到相同的结果,但我想不出任何其他方法。

3 个答案:

答案 0 :(得分:2)

我不知道您是否正在寻找Javascript的解决方案(我不知道是否只能使用CSS,但我不这么认为)但这是一种使用它的方法:

如果您有两个具有两个不同ID的div:

<div id="div1" style="height: 72px;"></div>
<div id="div2"></div>

然后,您可以使用getComputedStyle()读取第一个的样式属性:

var element = document.getElementById('div1'),
    style = window.getComputedStyle(element),
    height1 = style.getPropertyValue('height');

并将其设置为第二个:

var div2 = document.getElementById('div2');
div2.style.height = height1;

JSFiddle了解它是如何运作的。

答案 1 :(得分:0)

少用它可能见例

.rounded_corners {
      -moz-border-radius: 8px;
      -webkit-border-radius: 8px;
      border-radius: 8px;
    }

    #header {
      .rounded_corners;
    }

    #footer {
      .rounded_corners;
    }

答案 2 :(得分:0)

如果它们位于同一个容器中,您可以使用 flexbox

initialCommands in console
#container {
      display: flex;
      flex-direction: row;
      align-items:stretch /* That line gives them the same height */
    }

#container > * {
  background:gray;
  border:1px solid black;
  margin-right:5px;
}