2013-11-04 36 views
7

Tôi muốn thay đổi độ sáng của nền của DIV mà không ảnh hưởng đến các nội dung khác trong div.Thay đổi độ sáng của JUST nền bằng CSS

Khi tôi áp dụng bộ lọc độ sáng di chuột trên div, các yếu tố khác trong đó cũng bị ảnh hưởng. Mà tôi không muốn.

Giải pháp khác mà tôi có chỉ đơn giản là thay thế nền của div bằng ảnh đã chỉnh sửa. Nhưng điều đó yêu cầu tăng gấp đôi dung lượng lưu trữ mà tôi không thích.

Có cách nào thay đổi độ sáng của hình nền không?

JSFIDDLE

<div id="replace"> 
    <div id="transparent"> 
     <span id="text">Random unaffected text</span> 
    </div> 
</div> 

    <div id="brightnessfilter"> 
    <div id="transparent"> 
     <span id="text">Random AFFECTED text (it glows)</span> 
    </div> 
</div> 

#replace { 
width:700px; 
height:465px; 
background-image:url('http://i42.tinypic.com/351dff5.jpg'); 
} 

#brightnessfilter { 
    width:700px; 
    height:465px; 
    background-image:url('http://i42.tinypic.com/351dff5.jpg'); 
} 

#brightnessfilter:hover { 
    -webkit-filter: brightness(1.3); 
-moz-filter: brightness(1.3); 
-o-filter: brightness(1.3); 
-ms-filter: brightness(1.3); 
} 

#transparent { 
    position:relative; 
    top:400px; 
    width:700px; 
    height:65px; 
    background-color:rgba(0,0,0,.5); 
    border-radius:8px; 
} 

#text { 
    color:white; 
    font-weight:bold; 
    position:relative; 
    top:9px; 
    left:9px; 
    font-size:16px; 
} 

#replace:hover { 
    background-image:url('http://i40.tinypic.com/2cft7dl.jpg'); 
} 

Trên đây là một liên kết đến một fiddle với hai nỗ lực của tôi lúc tạo ra hiệu quả mong muốn. Nhưng cả hai đều có một bất lợi trong việc sử dụng nó.

Cảm ơn trước!

+0

không phải không có một số HTML không phải ngữ nghĩa – PlantTheIdea

Trả lời

-1

Cảm ơn tất cả sự trợ giúp. Nhưng tắt khóa học ngay sau khi tôi đăng bài này tôi đã đưa ra một ý tưởng.

Tôi sử dụng css để thay đổi toàn bộ nội dung div thành độ sáng 1.3 và tôi thay đổi độ sáng của văn bản thành 0,8 để thậm chí nó ra.

Như thế này:

JSFIDDLE

<div id="brightnessfilter"> 
    <div id="transparent"> 
     <span id="text">Random AFFECTED text (it glows)</span> 
    </div> 
</div> 

#brightnessfilter { 
    width:700px; 
    height:465px; 
    background-image:url('http://i42.tinypic.com/351dff5.jpg'); 

} 

#brightnessfilter:hover { 
    -webkit-filter: brightness(1.3); 
-moz-filter: brightness(1.3); 
-o-filter: brightness(1.3); 
-ms-filter: brightness(1.3); 
} 

#brightnessfilter:hover #text { 
    -webkit-filter: brightness(0.8); 
-moz-filter: brightness(0.8); 
-o-filter: brightness(0.8); 
-ms-filter: brightness(0.8); 
} 

#transparent { 
    position:relative; 
    top:400px; 
    width:700px; 
    height:65px; 
    background-color:rgba(0,0,0,.5); 
    border-radius:8px; 
} 

#text { 
    color:white; 
    font-weight:bold; 
    position:relative; 
    top:9px; 
    left:9px; 
    font-size:16px; 
} 

Tôi chỉ không biết chính xác số lượng 0.7 dường như ít sáng hơn bình thường 0,8 vẻ như ít để sáng.

+0

Tôi sẽ không nói rằng đó là một cách tiếp cận thực sự linh hoạt ... Điều gì sẽ xảy ra nếu bạn thêm bất kỳ phần tử nào bên trong hộp đó? Bạn sẽ áp dụng bộ lọc cho mỗi thành phần mới tách biệt là tốt? Có gì về thay đổi? Để áp dụng thay đổi trên tất cả những điều đó một lần nữa? – Agat

+0

Đúng, nhưng nội dung sẽ luôn giống nhau. Chỉ hình nền và văn bản sẽ thay đổi theo thời gian. nhưng số lượng nguyên tố sẽ không bao giờ thay đổi trong trường hợp này. – user2953063

+0

Có vấn đề gì với cách tiếp cận dễ dàng mà tôi đã đề xuất ở đây: http://stackoverflow.com/a/19773431/691660? Bạn muốn sử dụng bộ lọc quá nhiều? anh ta – Agat

Các vấn đề liên quan