2011-12-13 11 views
6

Đây là mãSử dụng CSS để làm background-image trên background-color trong một danh sách

<ul> 
    <li class="test"> 
     <a href="#"> 
      <h2>Blah</h2> 
      <p>Blah Blah Blah</p> 
     </a> 
    </li> 
</ul> 

Về cơ bản, danh sách của tôi đã có một số phong cách, ví dụ, tôi đặt background-color cho nó.

Bây giờ trong lớp "kiểm tra", tôi cũng đặt hình nền.

Câu hỏi của tôi là tôi muốn làm cho hình nền luôn ở trên màu nền và tôi không biết cách đạt được điều này. Tôi đã thử với z-index nhưng tôi nghĩ rằng nó không áp dụng cho background-image.

Xin hãy nhìn vào hình ảnh

Output

Chỉnh sửa: Đây là Bộ luật CSS

Ví dụ, đây là phong cách cho danh sách của tôi

#sidebar ul li{ 
    background:#ccf; 
} 

Và đây là kiểu cho bài kiểm tra lớp học

.test{ 
    background-image: url('img/big_tick.png'); 
    background-repeat:no-repeat; 
    background-position: bottom right; 
    -moz-background-size: 30%; 
    -webkit-background-size: 30%; 
    background-size: 30%;  
    margin-right: 30px; 
} 
+1

Dưới đây là một jsfiddle với thiết lập của mình lên: http://jsfiddle.net/LHmfT/ – piebie

Trả lời

5

Thêm thuộc tính !important vào background-image của bạn. Như thế này:

.test a{ 
background-image: url('img/big_tick.png') !important; 
background-repeat:no-repeat; 
background-position: bottom right; 
-moz-background-size: 30%; 
-webkit-background-size: 30%; 
background-size: 30%;  
margin-right: 30px; 

}

Tôi có một ví dụ fiddle here

EDIT: Tôi đã thay đổi lớp để .test a để phản ánh các chương trình phong cách thực tế

+0

Tôi đã cố gắng để đưa các quan trọng nhưng nó vẫn ở lại phía sau màu nền. @alpa Tôi đã cố gắng thay đổi nền thành màu nền nhưng vẫn không hoạt động. Đối với danh sách, tôi đã làm theo hướng dẫn này từ Nettuts [link] http://net.tutsplus.com/tutorials/html-css-techniques/create-a-sticky-note-effect-in-5-easy- steps-with-css3-and-html5/ Bạn có thể xem liên kết để biết thêm về CSS cho danh sách Cảm ơn bạn đã giúp tôi! – user826224

+0

Bạn đang sử dụng trình duyệt nào? Cờ '! Important' đang hoạt động trong cả Chrome và IE ở đây. Nếu bạn đăng thêm kiểu dáng của mình cho danh sách, điều đó có thể hữu ích. – piebie

+0

Xin chào, Im đang thử nghiệm điều này trên FF 8.0 và Chrome 16 và Im vẫn đang gặp sự cố. Kiểu dáng cho danh sách nằm trong liên kết http://net.tutsplus.com/tutorials/html-css-techniques/create-a-sticky-note-effect-in-5-easy-steps-with-css3-and -html5 /. Cảm ơn bạn đã giúp tôi :) – user826224

4

Hãy thử: thêm đặc hiệu vào lớp .test: #sidebar ul li.test

Hoặc tốt hơn nữa, nếu có thể, thêm background-color đến lớp .test, và thoát khỏi bộ chọn yếu tố hoàn toàn.

Tôi sẽ tránh sử dụng! Quan trọng trừ khi bạn thực sự cần nó. Về lâu dài, sử dụng nó sẽ làm cho việc chỉnh sửa css của bạn trở nên đau đớn. Thay vì sử dụng! Quan trọng, tôi khuyên bạn nên tìm hiểu về tính đặc hiệu: http://reference.sitepoint.com/css/inheritancecascade

+0

Điều này chỉ thay đổi vị trí của hình nền nhưng không làm cho nó ở trên nền màu – user826224

+0

Thử: thêm độ đặc hiệu cho lớp thử nghiệm: #sidebar ul li.test Hoặc, tốt hơn, nếu có thể, thêm màu nền cho lớp thử nghiệm, và nhận được màu đỏ của bộ chọn phần tử hoàn toàn. – shaunsantacruz