Dor*_*itz 7 css webkit google-chrome css3 css-transforms
我正在使用
-webkit-transform: skew(-15deg, 0deg);
Run Code Online (Sandbox Code Playgroud)
歪曲一个div,然后
-webkit-transform: skew(15deg, 0deg);
Run Code Online (Sandbox Code Playgroud)
要纠偏的含文字的孩子.在谷歌浏览器中,倾斜看起来很丑陋和像素化,所以我使用
-webkit-backface-visibility: hidden;
Run Code Online (Sandbox Code Playgroud)
使它看起来不错.现在容器倾斜得非常好,内部文本是"未弯曲的",但文本本身是模糊和丑陋的!(问题仅存在于使用-webkit的chrome中)
有任何想法如何使文字再次清晰?
HTML
<div class="mainBodyItemBox">
<div class="mainBodyItemImage">
<img src="http://upload.wikimedia.org/wikipedia/commons/6/6c/2012_Olympic_Football_-_Men's_tournament_-_Honduras_Vs_Morocco.jpg">
</div>
<div class="mainBodyItemDecorator"></div>
<div class="mainBodyItemText">PEC Zwolle v FC Groningen Tickets
<br> <span class="mainBodyItemType">Football</span>
<span class="mainBodyItemTime"><strong>04 Apr 2014</strong> | 21:00</span>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.mainBodyItemBox {
background-color: #f5f5f5;
display: inline-block;
font-family: Arial;
font-size: 12px;
height: 80px;
width: 365px;
border-top: 1px solid #ffffff;
border-bottom: 1px solid #c9c9c9;
margin-left: 25px;
margin-top: 10px;
transform: skew(-10deg, 0deg);
-webkit-transform: skew(-10deg, 0deg);
-moz-transform: skew(-10deg, 0deg);
-o-transform: skew(-10deg, 0deg);
-ms-transform: skew(-10deg, 0deg);
overflow: hidden;
-webkit-backface-visibility: hidden;
}
.mainBodyItemImage {
height: 100%;
width: 125px;
float: left;
overflow: hidden;
}
.mainBodyItemDecorator {
float: right;
height: 100%;
width: 10px;
background: rgb(30, 143, 30);
background: url(data:image/svg+xml;
base64, PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJod…EiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top, rgba(30, 143, 30, 1) 0%, rgba(71, 209, 21, 1) 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(30, 143, 30, 1)), color-stop(100%, rgba(71, 209, 21, 1)));
background: -webkit-linear-gradient(top, rgba(30, 143, 30, 1) 0%, rgba(71, 209, 21, 1) 100%);
background: -o-linear-gradient(top, rgba(30, 143, 30, 1) 0%, rgba(71, 209, 21, 1) 100%);
background: -ms-linear-gradient(top, rgba(30, 143, 30, 1) 0%, rgba(71, 209, 21, 1) 100%);
background: linear-gradient(to bottom, rgba(30, 143, 30, 1) 0%, rgba(71, 209, 21, 1) 100%);
filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#1e8f1e', endColorstr='#47d115', GradientType=0);
}
.mainBodyItemText {
color: #323d50;
font-size: 15px;
height: 100%;
margin-left: 125px;
padding-left: 15px;
padding-top: 5px;
transform: skew(10deg, 0deg);
-webkit-transform: skew(10deg, 0deg);
-moz-transform: skew(10deg, 0deg);
-o-transform: skew(10deg, 0deg);
-ms-transform: skew(10deg, 0deg);
}
.mainBodyItemType {
color: #9aa7af;
font-size: 10px;
margin-top: 0px;
}
.mainBodyItemTime {
font-size: 12px;
margin-top: 0px;
position: absolute;
bottom: 10px;
left: 15px;
}
Run Code Online (Sandbox Code Playgroud)
我不确定这是否是修复模糊文本的可行解决方案,但我已经创建了一些似乎可以避免该问题的东西。
\n\n我使用的技巧是将所有需要的元素封装transform: skew(-10deg, 0deg)
在一个容器中,并将容器绝对定位在文本后面。这样,文本就不会受到任何转换,因此不需要进行歪斜校正。我确实尝试以不同的方式分离文本,但仅仅靠近转换后的元素仍然会导致文本模糊。
我创建了 2 个演示,这个演示保留了原始 HTML,而这个演示使用了一些更清晰、更语义化的内容。我还在下面包含了后者的代码。
\n\n超文本标记语言
\n\n<article>\n <section>\n <h1>PEC Zwolle v FC Groningen Tickets</h1>\n <p>Football</p>\n <time><strong>04 Apr 2014</strong> | 21:00</time>\n </section>\n <aside>\n <img src="http://upload.wikimedia.org/wikipedia/commons/6/6c/2012_Olympic_Football_-_Men\'s_tournament_-_Honduras_Vs_Morocco.jpg" /><b></b>\n </aside>\n</article>\n
Run Code Online (Sandbox Code Playgroud)\n\nCSS
\n\narticle, aside {\n font-size: 12px;\n height: 80px;\n width: 365px;\n}\n\narticle {\n display: inline-block;\n font-family: Arial;\n position:relative;\n margin-left: 25px;\n margin-top: 10px;\n}\naside {\n position:absolute;\n z-index:-1;\n top:0;\n left:0;\n background-color: #f5f5f5;\n border-top: 1px solid #ffffff;\n border-bottom: 1px solid #c9c9c9;\n transform: skew(-10deg, 0deg);\n -webkit-transform: skew(-10deg, 0deg);\n -moz-transform: skew(-10deg, 0deg);\n -o-transform: skew(-10deg, 0deg);\n -ms-transform: skew(-10deg, 0deg);\n -webkit-backface-visibility: hidden;\n}\nimg {\n height: 100%;\n width: 125px;\n}\naside b {\n right:0;\n top:0;\n position:absolute;\n height: 100%;\n width: 10px;\n background: rgb(30, 143, 30);\n background: url(data:image/svg+xml;\n base64, PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJod\xe2\x80\xa6EiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);\n background: -moz-linear-gradient(top, rgba(30, 143, 30, 1) 0%, rgba(71, 209, 21, 1) 100%);\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(30, 143, 30, 1)), color-stop(100%, rgba(71, 209, 21, 1)));\n background: -webkit-linear-gradient(top, rgba(30, 143, 30, 1) 0%, rgba(71, 209, 21, 1) 100%);\n background: -o-linear-gradient(top, rgba(30, 143, 30, 1) 0%, rgba(71, 209, 21, 1) 100%);\n background: -ms-linear-gradient(top, rgba(30, 143, 30, 1) 0%, rgba(71, 209, 21, 1) 100%);\n background: linear-gradient(to bottom, rgba(30, 143, 30, 1) 0%, rgba(71, 209, 21, 1) 100%);\n filter: progid: DXImageTransform.Microsoft.gradient(startColorstr=\'#1e8f1e\', endColorstr=\'#47d115\', GradientType=0);\n}\nsection {\n color: #323d50;\n height: 100%;\n margin-left:140px;\n}\nsection h1 {\n font-size:15px;\n font-weight:normal;\n margin:5px 0 0;\n}\nsection p {\n color: #9aa7af;\n font-size: 10px;\n margin: 5px 0;\n}\ntime {\n font-size: 12px;\n}\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
11059 次 |
最近记录: |