html+css打开空盒子

html部分

  <div class="box">
    <div class="side front"></div>
    <div class="side back"></div>
    <div class="side left"></div>
    <div class="side right"></div>
    <div class="side top">
      <div class="tl"></div>
      <div class="tr"></div>
    </div>
    <div class="side bottom"></div>
  </div>

css部分

*{
  margin:0;
  padding:0;
  box-sizing: border-box;
}
body{
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgb(5, 243, 243);
}
.box{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transform-style:preserve-3d;
  perspective: 1000px;
  transform: rotateX(-20deg);
}
.side{
  position: absolute;
  width: 200px;
  height: 200px;
  background-color: rgb(226, 205, 15);
  border: 1px solid #fff;
}
.front {
  transform:translateZ(100px)
}
.back{
  transform: translateZ(-100px) rotateY(180deg);
}
.left{
  transform: translateX(-100px) rotateY(-90deg);
}
.right{
  transform: translateX(100px) rotateY(90deg);
}
.top{
  transform: translateY(-100px) rotateX(90deg);
  background-color: transparent;
  transform-style:preserve-3d;
}
.top div{
  background-color: rgb(226, 205, 15);
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  border:1px solid #fff;
}
.top .tl {
  left: 0;
  transform-origin: left;
}
.top .tr{
  right: 0;
  transform-origin: right;
}
.bottom{
  transform: translateY(100px) rotateX(-90deg);
  box-shadow: 5px -5px 15px rgb(0,0,0,0.4);
}
.box:hover .top .tl {
  transform: rotateY(-135deg);
}
.box:hover .top .tr {
  transform: rotateY(135deg);
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个 HTML+CSS+JS 实现图片拖拽到盒子中的示例: ```html <!DOCTYPE html> <html> <head> <title>拖拽图片到盒子中</title> <style> #box { width: 300px; height: 300px; border: 1px solid black; text-align: center; line-height: 300px; } #box.dragging { border-style: dashed; } </style> </head> <body> <div id="box">将图片拖拽到此处</div> <img id="image" src="https://picsum.photos/200" draggable="true"> <script> var box = document.getElementById("box"); var image = document.getElementById("image"); // 监听图片拖拽开始事件 image.addEventListener("dragstart", function(event) { event.dataTransfer.setData("text/plain", "image"); box.classList.add("dragging"); }); // 监听图片拖拽结束事件 image.addEventListener("dragend", function(event) { box.classList.remove("dragging"); }); // 监听盒子拖拽进入事件 box.addEventListener("dragenter", function(event) { event.preventDefault(); box.classList.add("dragging"); }); // 监听盒子拖拽离开事件 box.addEventListener("dragleave", function(event) { box.classList.remove("dragging"); }); // 监听盒子拖拽放置事件 box.addEventListener("drop", function(event) { event.preventDefault(); var data = event.dataTransfer.getData("text/plain"); if (data === "image") { box.innerText = "图片已放置到此处"; } box.classList.remove("dragging"); }); </script> </body> </html> ``` 在这个示例中,我们定义了一个 `div` 元素作为盒子,并设置一个 `#box` 的样式。我们还定义了一个带有 `draggable="true"` 属性的 `img` 元素。 在 JavaScript 中,我们首先获取了盒子和图片元素的引用。然后,我们监听了图片的 `dragstart` 和 `dragend` 事件,以及盒子的 `dragenter`、`dragleave` 和 `drop` 事件。 当图片开始拖拽时,我们在 `dataTransfer` 对象中设置一个数据。在这个例子中,我们设置一个文本字符串 "image"。同时,我们给盒子添加了一个 `dragging` 类,以便在拖拽过程中改变盒子的样式。 当图片拖拽结束时,我们移除了盒子的 `dragging` 类。 当盒子被拖拽进入时,我们阻止了事件的默认行为,以便让盒子可以接收拖拽数据。同时,我们给盒子添加了一个 `dragging` 类,以改变盒子的样式。 当盒子被拖拽离开时,我们移除了盒子的 `dragging` 类。 当盒子被拖拽放置时,我们首先阻止了事件的默认行为,以便不让浏览器打开拖拽数据。然后,我们从 `dataTransfer` 对象中读取了之前设置的数据,并检查它是否为 "image"。如果是,我们将盒子的文本设置为 "图片已放置到此处"。最后,我们移除了盒子的 `dragging` 类。 这样,我们就成功地实现了图片拖拽到盒子中的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值