【问题标题】:DIV Drawing Duplication And PriorityDIV 绘图重复和优先级
【发布时间】:2017-11-16 03:07:24
【问题描述】:

我正在开发一个 jsfiddle here: https://jsfiddle.net/laroy/f9dhrrgg/

如您所见,我创建了一个 3D 列类型图像。我想复制它,并将复制的内容移到原件的右侧和顶部,使它们重叠。我已经尝试弄清楚但无法解决,因此将不胜感激。

代码如下:

.ultra {
  position: relative;
  height: 200px;
  width: 200px;
  overflow: hidden;
  background-color: white;
  z-index: 1;
}

.sub_ultra {
  position: absolute;
  bottom: 0;
  height: 100px;
  width: 200px;
  overflow: hidden;
  background-color: grey;
  margin-top: 5em;
  z-index: 1;
}

.right_side {
  height: 390px;
  width: 177px;
  overflow: hidden;
  background-color: yellow;
  margin-left: 10em;
  margin-top: -7em;
  position: absolute;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
  z-index: -1;
}

.bottom_side {
  height: 380px;
  width: 142px;
  overflow: hidden;
  background-color: red;
  margin-left: 7.1em;
  margin-top: -6.8em;
  position: absolute;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
  z-index: -1;
}
<div class="ultra">
  <div class="sub_ultra"></div>
</div>

<div class="right_side"></div>
<div class="bottom_side"></div>

【问题讨论】:

    标签: javascript html css duplicates z-index


    【解决方案1】:

    这可以通过将图像包装在相对定位的容器中并使用 jQuery 克隆创建另一个副本来轻松完成。

    jQuery Fiddle

    No jQuery Fiddle

    HTML

    <div class="container">
      <div class="image-wrap">
        <div class="ultra">
          <div class="sub_ultra"></div>
        </div>
    
        <div class="right_side"></div>
        <div class="bottom_side"></div>
      </div>
    </div>
    

    jQuery

    $(".image-wrap").clone().appendTo(".container").addClass("shifted")
    

    Js(没有 jQuery)

    var node = document.querySelector(".image-wrap").cloneNode(true);
    node.className = node.className + " shifted";
    document.querySelector(".container").appendChild(node);
    

    新的 CSS

    .container {
      position: relative;
      margin-top: 20px;
      display: inline-block;
    }
    .shifted {
      position: absolute;
      top: -20px;
      right: -20px;
    }
    

    【讨论】:

    • 我可以让它在小提琴中工作,但是当我将它应用到我正在构建的网站时,它什么也没做......任何想法为什么会这样?也许我错误地包含了JS。
    • 在脚本标签中,看起来像这样 --> 我有以下 --> $(".image-wrap") .clone().appendTo(".container").addClass("shifted");它告诉我它'找不到变量“$”'
    • 那么你可能没有使用 jQuery。使用标记为 No jQuery 的 js 代码。您可以忽略 jQuery 块中的代码。
    • 我现在使用的是 No jQuery 解决方案,但它将克隆放置在原件的正下方。在解决方案的“移位”部分中,空间将其挡住,但现在,没有空间,它具有 image-wrapshifted 类...
    • 你真的需要你的类名之间的空间。 " shifted" 是正确的。你的意思是空间挡住了它?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-06
    • 1970-01-01
    • 2015-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多