CSS rotated text with background shows some background-issues

孤者浪人 提交于 2020-01-04 04:46:09

问题


I am using CSS to slightly rotate Text. The text is black on a white background, but because of the rotation part of the background has some little transparent lines going through it. This image will show it more clearly:

body {
  background: red;
}

.featured-grid-b .item-heading {
  /*Black text on white background*/
  box-shadow: 0 0 0 5px #fff;
  padding: 0;
  background: #fff;
  line-height: 2 !important;
  display: inline;
  color: #000;
  text-shadow: none;
}

.caption h3 {
  /*Rotate Text*/
  transform: rotate(-3deg);
  margin-bottom: 15px;
}
<div class="featured-grid featured-grid-b" data-animation="fade" data-animation-speed="600" data-slide-delay="5000">
  <div class="caption caption-large">
    <h3><a href="http://www.fair-fashion-magazin.de/2019/07/03/das-nachhaltige-mode-label-people-tree/" class="item-heading">Fashion zum Verlieben: Das Fair Fashion Label People Tree</a></h3>
  </div>
</div>

As this is a Wordpress site, I can't really adjust the HTML and tried to achieve the result with only CSS-changes. Therefore if possible I am looking for a CSS-solution that will fix the problem. The text should look exactly like this, with the spaces between each line of text.


回答1:


Add a small inset box-shadow to avoid this issue (seems to do the job only on Chrome)

.item-heading { 
    /*Black text on white background*/
    box-shadow:
      0 0 0 5px #fff,
      0 0 0 2px #fff inset;
    padding: 0;
    background: #fff;
    line-height: 2 !important;
    display: inline;
    color: #000;
    text-shadow: none;
}

.caption h3 {
    /*Rotate Text*/
    transform: rotate(-3deg);
    margin-bottom:15px;
}

body {
 background:pink;
}
<div class="caption caption-large">                                     
<h3><a href="http://www.fair-fashion-magazin.de/2019/07/03/das-nachhaltige-mode-label-people-tree/" class="item-heading">Fashion zum Verlieben:<br> Das Fair Fashion Label People Tree</a></h3>
</div

Another idea is to consider border and rely on box-decoration-break (pay attention to the support: https://caniuse.com/#feat=css-boxdecorationbreak)

.item-heading { 
    /*Black text on white background*/
    border:5px solid #fff;
    padding: 0;
    background: #fff;
    line-height: 2 !important;
    display: inline;
    color: #000;
    text-shadow: none; 
    -webkit-box-decoration-break: clone;
     box-decoration-break: clone; 
}

.caption h3 {
    /*Rotate Text*/
    transform: rotate(-3deg);
    margin-bottom:15px;
}

body {
 background:pink;
}
<div class="caption caption-large">                                     
<h3><a href="http://www.fair-fashion-magazin.de/2019/07/03/das-nachhaltige-mode-label-people-tree/" class="item-heading">Fashion zum Verlieben: <br>Das Fair Fashion Label People Tree</a></h3>
</div


来源:https://stackoverflow.com/questions/57094587/css-rotated-text-with-background-shows-some-background-issues

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!