javascript - 使用 HTML、CSS 和 JS 构造一个 "3D"的建筑

标签 javascript html css

这个问题太宽泛了,我知道,但无论如何......

如何使用 HTML、CSS 和 JS(可能是图像)获得与下图相同的结果? “级别”的数量是不可预测的,建筑物的每个“级别”都必须是可点击的,<a href="#"></a> ,或类似的东西。

buildings

这可能吗?

最佳答案

我用 CSS 转换构建了一些东西。不完美,但我想你会明白这一点。它对屋顶和侧面元素使用转换,并通过伪类添加侧面元素。

#stack {
  padding: 10px;
}

.roof {
    width: 100px;
    height: 20px;
    background: #aff;
    transform: translateX(10px) skewX(135deg);
    padding-top: -20px;
}
.level {
    text-align: center;
    width: 100px;
    height: 20px;
    background: #99f;
    margin: 1px;
}

.level:after {
    display: block;
    width: 20px;
    height: 20px;
    background: #00f;
    content: "";
    margin-left: 100px;
    transform: translateY(-30px) skewY(135deg);
}

.level:hover {
    background: #f99;
}

.level:hover:after {
    background: #f00;
}
<div id="stack">
    <div class="roof"></div>
    <div class="level">1</div>
    <div class="level">2</div>
    <div class="level">3</div>
    <div class="level">4</div>
</div>

请随意使用关卡内的链接。

编辑:添加了:hover 高亮显示

关于javascript - 使用 HTML、CSS 和 JS 构造一个 "3D"的建筑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28587384/

相关文章:

javascript - 将多个页面上的多个输入按钮合并为单个 html 页面上的单个按钮

html - 阻止用户放大和缩小网页

javascript - jQuery 移动 : Spacing the widgets in a page

html - 框阴影不适用于 2 个相邻的 div

html - 是否可以使用没有标签的纯 css 单选按钮输入进行自定义?

javascript - lastModified() 函数返回当前日期和时间

javascript - Closure Compiler 并不总是强制类型安全?

javascript - 类型 'modules' .ts(2339) 上不存在属性 'typeof MyEditor'

html - 样式无法在线正确加载

javascript - 位置固定不适用于粘性导航栏