透明文本背景重叠

时间:2016-12-14 17:29:04

标签: html css sass

所以我一直在使用Chris的文章https://css-tricks.com/multi-line-padded-text/帮助我获得一些带背景的中心文字。唯一的问题是我希望背景是半透明的,我不能想到这样做的方法。我玩线高和填充,但无法提出解决方案。

我想要做的是停止每条线的背景重叠,但要确保每条线之间的空间相同。

  <div class="ui-section__component">
   <div class="comp--hero-text">
    <h2>You're all clear, kid. Let's blow this thing and go home! You're all clear, kid. Let's blow this thing and go home!</h2>
   </div>
  </div>


$white: #fff;
$max-width: 1024px;
$small-spacing: 0.75em;

.ui-section__component{
  background-color: green; 
  display: flex; 
  height: 500px;
  width: 700px;
}

.comp--hero-text {
  align-self: center;
  margin: 0 auto;
  max-width: $max-width - 200px;
  text-align: center;
  width: 80%;

  h2 {
    background-color: rgba($white, 0.85);
    box-decoration-break: clone;
    box-shadow: $small-spacing / 2 0 0 rgba($white, 0.85), -$small-spacing / 2 0 0 rgba($white, 0.85);
    display: inline;
    line-height: 1.5;
    padding: 0.5em 0;
  }
}

我的代码可以在Code Pen上找到:http://codepen.io/rmaspero/pen/VmVwNx

3 个答案:

答案 0 :(得分:0)

line-height: 1.2制作.comp--hero-text h2,例如:

.comp--hero-text h2 {
  line-height: 2.2;
}

请看下面的代码段:

&#13;
&#13;
.ui-section__component {
  background-color: green;
  display: flex;
  height: 500px;
  width: 700px;
}

.comp--hero-text {
  align-self: center;
  margin: 0 auto;
  max-width: 824px;
  text-align: center;
  width: 80%;
}
.comp--hero-text h2 {
  background-color: rgba(255, 255, 255, 0.85);
  box-decoration-break: clone;
  box-shadow: 0.375em 0 0 rgba(255, 255, 255, 0.85), -0.375em 0 0 rgba(255, 255, 255, 0.85);
  display: inline;
  line-height: 1.5;
  padding: 0.15em 0;
}
&#13;
<div class="ui-section__component">
  <div class="comp--hero-text">
    <h2>You're all clear, kid. Let's blow this thing and go home! You're all clear, kid. Let's blow this thing and go home!</h2>
   </div>
  </div>
&#13;
&#13;
&#13;

希望这有帮助!

答案 1 :(得分:0)

我认为你可以通过消除背景颜色的alpha通道并将其更改为rgb类似的颜色来解决这个问题。这是我能想到的最简单的解决方案。

    h2 {
        background-color: #f6f9f4;
        box-decoration-break: clone;
        box-shadow: $small-spacing / 2 0 0 rgba($white, 0.85), -$small-spacing / 2 0 0 #f6f9f4;
        display: inline;
        line-height: 1.5;
        padding: 0.5em 0;
      }

答案 2 :(得分:0)

你可以减少'comp - hero-text h2'的行高     

        .comp--hero-text h2{
          line-height: 2;
        }
    

或者您可以调整填充     

        .comp--hero-text h2{
          padding: .2em 0;
        }