Как исключить границу из изменения непрозрачности - PullRequest
3 голосов
/ 04 марта 2012

У меня есть этот CSS:

#name { 
    border: 1px solid #fff;
    color: #a5a5a5;
    opacity: 0.3;
    font-size: 11px;
    font-family: "times new roman";
}

однако для границы также задана непрозрачность 0,3, но я не хочу, чтобы у границы была непрозрачность. Как исключить этот элемент?

Ответы [ 5 ]

4 голосов
/ 04 марта 2012

Вы не можете. opacity устанавливает непрозрачность для всего элемента. В зависимости от фактического содержания элемента у вас есть два варианта:

  1. Оберните все содержимое в <div> и примените к нему границу.
  2. Если есть только текст и / или фон, используйте rgba, чтобы указать цвет текста и / или цвет / градиент фона вместо opacity.
1 голос
/ 04 марта 2012

Измените структуру HTML на:

<div id="name">
    <div>
       Stuff
    </div>
<div>

И CSS на:

#name { 
    border: 1px solid #fff;
}

#name div { 
    color: #a5a5a5;
    opacity: 0.3;
    font-size: 11px;
    font-family: "times new roman";
}
0 голосов
/ 29 июня 2016

Попробуйте это

#name { 
    border: 1px solid #fff;
    color: #a5a5a5;
    opacity: 0.3;
    font-size: 11px;
    font-family: "times new roman";
    height: 50px;
}

#name:after {
    height: 50px;
    border: 1px solid rgba(255, 255, 255, 1);
    content: '';
    display: block;
} 
0 голосов
/ 04 марта 2012

Вы можете создать контейнер.

#name {
    border: 1px solid #fff;
    color: #a5a5a5;
    font-size: 11px;
    font-family: times new roman;
}

.op3 {
    opacity: 0.3;
}
<div id="name">
    <div class="op3">
       <!-- content -->
    </div>
</div>
0 голосов
/ 04 марта 2012

Вы можете добавить контейнер с рамкой и содержимое с непрозрачностью:

<div id="container" style="border:1px solid #fff">
  <div id="name">
   --------
   </div>
</div>
...