3
我想創建一個立方體與文本的四面八方,但在一些文字看起來很模糊。快速谷歌搜索後,我發現添加-webkit-font-smoothing: subpixel-antialiased
到包含元素解決了一些問題,但似乎並沒有解決它對我來說。第1面和第2面非常漂亮,但其餘4面都很模糊。我真的很感激,如果任何人都可以幫我把這一個弄清楚..我把一個jsfiddle放在一起,代碼如下。提前致謝!3D立方體的選擇邊上的模糊文本
HTML:
<div id="options">
<ul id="nav">
<li id="front" class="show-front">Show 1</li>
<li id="back" class="show-back">Show 2</li>
<li id="right" class="show-right">Show 3</li>
<li id="left" class="show-left">Show 4</li>
<li id="top" class="show-top">Show 5</li>
<li id="bottom" class="show-bottom">Show 6</li>
<ul>
</div>
<div class="container">
<div id="cube" class="show-right">
<div class="side front"><h2>This is side 1</h2></div>
<div class="side back"><h2>This is side 2</h2></div>
<div class="side right"><h2>This is side 3</h2></div>
<div class="side left"><h2>This is side 4</h2></div>
<div class="side top"><h2>This is side 5</h2></div>
<div class="side bottom"><h2>This is side 6</h2></div>
</div>
</div>
CSS:
#nav {
list-style: none;
}
#nav li:hover {
cursor: pointer;
}
.container {
width: 600px;
height: 600px;
position: relative;
margin: 1em 1em 1em 2em;
float: left;
-webkit-perspective: 1000px;
-moz-perspective: 1000px;
-ms-perspective: 1000px;
-o-perspective: 1000px;
perspective: 1000px;
}
.container #cube {
width: 100%;
height: 100%;
position: absolute;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
-o-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-transition: -webkit-transform 1s;
-moz-transition: -moz-transform 1s;
-ms-transition: -ms-transform 1s;
-o-transition: -o-transform 1s;
transition: transform 1s
}
.container #cube .side {
background: black;
margin: 0px;
display: block;
position: absolute;
width: 596px;
height: 596px;
color: white;
border-radius: 5px;
box-shadow: 0 0 15px black;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
-o-backface-visibility: hidden;
backface-visibility: hidden;
}
.container #cube .front {
-webkit-transform: translateZ(300px);
-moz-transform: translateZ(300px);
-ms-transform: translateZ(300px);
-o-transform: translateZ(300px);
transform: translateZ(300px);
}
.container #cube .back {
-webkit-transform: rotateX(-180deg) translateZ(300px);
-moz-transform: rotateX(-180deg) translateZ(300px);
-ms-transform: rotateX(-180deg) translateZ(300px);
-o-transform: rotateX(-180deg) translateZ(300px);
transform: rotateX(-180deg) translateZ(300px);
}
.container #cube .right {
-webkit-transform:rotateY(90deg) translateZ(300px);
-moz-transform:rotateY(90deg) translateZ(300px);
-ms-transform:rotateY(90deg) translateZ(300px);
-o-transform:rotateY(90deg) translateZ(300px);
transform:rotateY(90deg) translateZ(300px);
}
.container #cube .left {
-webkit-transform: rotateY(-90deg) translateZ(300px);
-moz-transform: rotateY(-90deg) translateZ(300px);
-ms-transform: rotateY(-90deg) translateZ(300px);
-o-transform: rotateY(-90deg) translateZ(300px);
transform: rotateY(-90deg) translateZ(300px);
}
.container #cube .top {
-webkit-transform: rotateX(90deg) translateZ(300px);
-moz-transform: rotateX(90deg) translateZ(300px);
-ms-transform: rotateX(90deg) translateZ(300px);
-o-transform: rotateX(90deg) translateZ(300px);
transform: rotateX(90deg) translateZ(300px);
}
.container #cube .bottom {
-webkit-transform: rotateX(-90deg) translateZ(300px);
-moz-transform: rotateX(-90deg) translateZ(300px);
-ms-transform: rotateX(-90deg) translateZ(300px);
-o-transform: rotateX(-90deg) translateZ(300px);
transform: rotateX(-90deg) translateZ(300px);
}
.container #cube.show-front {
-webkit-transform: translateZ(-300px);
-moz-transform: translateZ(-300px);
-ms-transform: translateZ(-300px);
-o-transform: translateZ(-300px);
transform: translateZ(-300px);
}
.container #cube.show-back {
-webkit-transform: translateZ(-300px) rotateX(-180deg);
-moz-transform: translateZ(-300px) rotateX(-180deg);
-ms-transform: translateZ(-300px) rotateX(-180deg);
-o-transform: translateZ(-300px) rotateX(-180deg);
transform: translateZ(-300px) rotateX(-180deg);
}
.container #cube.show-right {
-webkit-transform: translateZ(-300px) rotateY(-90deg);
-moz-transform: translateZ(-300px) rotateY(-90deg);
-ms-transform: translateZ(-300px) rotateY(-90deg);
-o-transform: translateZ(-300px) rotateY(-90deg);
transform: translateZ(-300px) rotateY(-90deg);
}
.container #cube.show-left {
-webkit-transform: translateZ(-300px) rotateY(90deg);
-moz-transform: translateZ(-300px) rotateY(90deg);
-ms-transform: translateZ(-300px) rotateY(90deg);
-o-transform: translateZ(-300px) rotateY(90deg);
transform: translateZ(-300px) rotateY(90deg);
}
.container #cube.show-top {
-webkit-transform: translateZ(-300px) rotateX(-90deg);
-moz-transform: translateZ(-300px) rotateX(-90deg);
-ms-transform: translateZ(-300px) rotateX(-90deg);
-o-transform: translateZ(-300px) rotateX(-90deg);
transform: translateZ(-300px) rotateX(-90deg);
}
.container #cube.show-bottom {
-webkit-transform: translateZ(-300px) rotateX(90deg);
-moz-transform: translateZ(-300px) rotateX(90deg);
-ms-transform: translateZ(-300px) rotateX(90deg);
-o-transform: translateZ(-300px) rotateX(90deg);
transform: translateZ(-300px) rotateX(90deg);
}
這絕對有幫助,謝謝! – Jmh2013