Fiddle: http://jsfiddle.net/uenrX/1/
Thuộc tính Opacity của DIV bên ngoài không thể được hoàn tác bằng DIV bên trong. Nếu bạn muốn đạt được tính minh bạch, sử dụng rgba
hoặc hsla
:
div Outer:
background-color: rgba(255, 255, 255, 0.9); /* Color white with alpha 0.9*/
div Nội:
background-color: #FFF; /* Background white, to override the background propery*/
EDIT
Bởi vì bạn đã thêm filter:alpha(opacity=90)
cho câu hỏi của bạn , Tôi cho rằng bạn cũng muốn có một giải pháp làm việc cho (phiên bản cũ hơn) của IE. Điều này sẽ làm việc (-ms-
tiền tố cho các phiên bản mới nhất của trình duyệt IE):
/*Padded for readability, you can write the following at one line:*/
filter: progid:DXImageTransform.Microsoft.Gradient(
GradientType=1,
startColorStr="#E6FFFFFF",
endColorStr="#E6FFFFFF");
/*Similarly: */
filter: progid:DXImageTransform.Microsoft.Gradient(
GradientType=1,
startColorStr="#E6FFFFFF",
endColorStr="#E6FFFFFF");
Tôi đã sử dụng các bộ lọc Gradient, bắt đầu với cùng start-
và end-color
, do đó nền không hiển thị một gradient, nhưng một màu phẳng. Định dạng màu có định dạng hex ARGB. Tôi đã viết một đoạn mã JavaScript để chuyển đổi các giá trị độ mờ tương đối thành các giá trị alpha-hex tuyệt đối:
var opacity = .9;
var A_ofARGB = Math.round(opacity * 255).toString(16);
if(A_ofARGB.length == 1) A_ofARGB = "0"+a_ofARGB;
else if(!A_ofARGB.length) A_ofARGB = "00";
alert(A_ofARGB);
Nguồn
2011-09-27 07:11:06
Câu trả lời ngắn gọn là bạn có thể không. Đặt div khác bên ngoài div trong suốt. –
Câu hỏi liên quan: http://stackoverflow.com/questions/806000/css-semi-transparent-background-but-not-text –