2010-01-05 4 views
3

내가 (프로브)를 포함 웹 디자이너 레이아웃에서 가져온 : 그것을 위해div의 div에 대한 불투명도 변경 - 가능합니까? 방법?

<div id="subMenuRow"> 
<div id="subMenuRowHTML"> 
    <a href="/link">Link</a> 
</div> 
</div> 

각각 CSS :

#subMenuRow{ 
     width: 900px; 
     height: 40px; 
     background: #000000; 
     float: left; 
     clear: both; 
     filter:alpha(opacity=30); 
     -moz-opacity:0.3; 
     -khtml-opacity: 0.3; 
     opacity: 0.3; 
} 

불투명도가 HTML 메뉴 투명 줄을 만드는 데 사용됩니다. 문제는 링크를 포함하여 모든 텍스트가 투명성을 포함하므로 매우 불필요하다는 것입니다. subMenuRowHTML의 불투명도를 피하는 방법은 무엇입니까?

+0

마지막으로 외부에 HTML div를 삽입하고 position-absolute를 설정하여 관리했습니다. 충고에 감사드립니다. – bluszcz

답변

2

먼저 더 이상 -moz-opacity-khtml-opacity를 사용할 필요가 없습니다. 그들은 매우 오래되었습니다.

오늘 완전히 지원되는 솔루션이 없습니다. CSS3 RGBA는 최신 브라우저에서이 문제를 해결하지만 당신은 오래된 브라우저를 지원해야하는 경우는 사용하는 반 투명 PNG해야합니다 위해도 easy options 있습니다

* html #subMenuRow { background: url(full-opacity.gif); } 

:

#subMenuRow { background: url(semi-trans.png); } 

IE6이 함께 우아하게 저하됩니다 IE6에서 투명도 png. 그것은 당신에게 달려 있습니다.

코드에 opacity의 인스턴스가 많이 있고 코드를 * html으로 엉망으로 만들고 싶지 않은 경우 조건부 주석을 사용할 수 있습니다.

+0

고마워, 나는 다음 프로젝트를 위해 즉 PNG 수정을 사용할 것이다. – bluszcz

-2

추가 :

#subMenuRowHTML { 
filter:none; 
-moz-opacity:1; 
-khtml-opacity:1; 
opacity:1; 
}

+0

이것은 작동하지 않을 것입니다. 모든 불투명도 설정은 부모의 불투명도에 비례합니다 (= 결코 부모보다 덜 투명합니다). –

+0

아, 좋은 지적이야. –

2

사용 배경 이미지로 반 투명 .PNG :

CSS :

background: transparent url(/url/image.png) top left repeat; 
+0

IE6의 투명성과 같은 또 다른 문제가 발생한다고 생각합니다. 나는 그 아래에 이미 그림을 가지고있다 ... – bluszcz

+0

그것이 맞다! IE6는 필요한대로 transparend png를 처리하지 않습니다. 이 문제를 처리하기 위해 자바 스크립트 클래스를 사용하면 문제를 해결할 수 있습니다. http://homepage.ntlworld.com/bobosola/ –