호환성 배경색 반투명 ​​CSS 코드(내부 하위 요소에는 영향을 주지 않음)

WBOY
풀어 주다: 2016-08-30 09:21:11
원래의
2411명이 탐색했습니다.

간단한 호환성을 달성하는 방법. 상위 요소는 반투명 배경색을 가지며 하위 요소는 영향을 받지 않습니다.

모든 브라우저와 호환되는 배경색 반투명 ​​CSS 코드:

background-color: rgba(<span style="color: #800080;">0</span>, <span style="color: #800080;">0</span>, <span style="color: #800080;">0</span>, .<span style="color: #800080;">25</span><span style="color: #000000;">);
filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr</span>=#<span style="color: #800080;">40000000</span>,endColorStr=#<span style="color: #800080;">40000000</span>);
로그인 후 복사

참고: startColorStr 및 endColorStr의 값으로 처음 두 자리는 16진수 투명도이고 마지막 6자리는 16진수 색상입니다.

#AARRGGBB 형식입니다. AA, RR, GG 및 BB는 16진수 양의 정수입니다. 값 범위는 00 - FF입니다. RR은 빨간색 값을 지정하고, GG는 녹색 값을 지정하고, BB는 파란색 값을 지정합니다. #RRGGBB 색상 단위를 참조하세요. AA는 투명성을 지정합니다. 00은 완전히 투명합니다. FF는 완전히 불투명합니다. 값 범위를 벗어난 값은 기본값으로 복원됩니다.

2자리 투명도 변환 방법: x=alpha*255, 계산된 결과 x를 16진수로 변환하면 됩니다.

js를 16진수로 변환하는 방법: x.toString(16)

예: 위의 0.25 투명도를 IE의 AA 투명도로 변환합니다. var a = 0.25 * 255 = 63.75 ~= 64 a.toString(16) = 40

데모 예:

<style type=<span style="color: #800000;">"</span><span style="color: #800000;">text/css</span><span style="color: #800000;">"</span>><span style="color: #000000;">
.menu</span>-nav-<span style="color: #000000;">bg {
    background</span>-color: rgba(<span style="color: #800080;">0</span>, <span style="color: #800080;">0</span>, <span style="color: #800080;">0</span>, .<span style="color: #800080;">25</span><span style="color: #000000;">);
    filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr</span>=#<span style="color: #800080;">40000000</span>,endColorStr=#<span style="color: #800080;">40000000</span><span style="color: #000000;">);
}
</span><span style="color: #008000;">/*</span><span style="color: #008000;"> css hack: rgba background with IE filter alternative: IE9 renders both! </span><span style="color: #008000;">*/</span><span style="color: #000000;">
.menu</span>-nav-<span style="color: #000000;">bg:not([dummy]) {
   filter: progid:DXImageTransform.Microsoft.Gradient(enabled</span>=<span style="color: #800000;">'</span><span style="color: #800000;">false</span><span style="color: #800000;">'</span><span style="color: #000000;">);
}
</span><span style="color: #008000;">/*</span><span style="color: #008000;"> 对于IE9,除了使用 :not([dummy]) hack 外,还可以使用 :root,推荐使用这个
 * :root 选择器已经被现代主流浏览器支持了,除了IE8及以下IE浏览器
 </span><span style="color: #008000;">*/</span><span style="color: #000000;">
:root .menu</span>-nav-<span style="color: #000000;">bg {
   filter: progid:DXImageTransform.Microsoft.Gradient(enabled</span>=<span style="color: #800000;">'</span><span style="color: #800000;">false</span><span style="color: #800000;">'</span><span style="color: #000000;">);
}
</span></style>
<div <span style="color: #0000ff;">class</span>=<span style="color: #800000;">"</span><span style="color: #800000;">menu-nav-bg</span><span style="color: #800000;">"</span>>
    <a href=<span style="color: #800000;">"</span><span style="color: #800000;">#</span><span style="color: #800000;">"</span>>我的首页</a>
    |
    <a href=<span style="color: #800000;">"</span><span style="color: #800000;">#</span><span style="color: #800000;">"</span>>我的微博</a>
</div>
로그인 후 복사

아이디어: 최신 브라우저는 반투명 배경색을 얻기 위해 CSS3 RGBA를 사용하고, IE는 그라디언트 필터 필터: progid:DXImageTransform.Microsoft.Gradient 반투명을 사용합니다.

참고: 이 반투명성 때문에 opacity:0.5 속성이나 IE filter:alpha(opacity=50) 반투명 필터를 사용할 수 없습니다. 하위 요소도 반투명하게 만듭니다.

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!