2014-09-08 5 views
-6

На данный момент мое приложение использует только простые флажки с меткой. Наш дизайнер приложений хочет, чтобы мы изменили это на интерактивные изображения, которые работают как флажок.Создание флажков с изображениями

Вот пример:

enter image description here

Я не знаю, как поступить, я должен попытаться создать DIV (квадрат), заполненный с изображением, а затем установить мой текущий флажок в правом нижнем углу угол этого div?

Возможно, есть более простой способ сделать это?

+1

https://www.google.com/search?q=custom+checkboxes – CBroe

+0

Доступные пользовательские флажки ";) http://www.filamentgroup.com/examples/customInput/ Добавление ключевого слова * доступно * всегда приводит к лучшей семантике и часто лучше коду (и меньше результатов, но это не всегда проблема). EDIT: gasp demo имеет некоторый сервер проблемы atm – FelipeAls

+0

edit2: новая ссылка http://filamentgroup.github.io/checkboxradio/ – FelipeAls

ответ

0

http://jsfiddle.net/pwoojpv1/

HTML

<div class="check-img" style="width:100px;height:100px;"> 
    <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Tux.svg/883px-Tux.svg.png" > 
    <div class="check">&check;</div>  
</div> 

CSS

*{ 
    box-sizing:border-box; 
} 
.check-img{ 
    position:relative; 
    top:0px; 
    left:0px; 
} 
.check-img img{ 
    border:solid 2px gray; 
    width:100%; 
    height:100%; 
    cursor:pointer; 
} 
.check{ 
    padding-left:5px; 
    color:grey; 

    height:20px; 
    width:20px; 
    background:grey; 

    position:absolute; 
    bottom:0px; 
    right:0px; 
} 
.check-img.checked img{ 
    border-color:orange; 
} 
.check-img.checked .check{ 
    background:orange; 
    color:white; 
} 

JS

$(document).ready(function(){ 
    $(".check-img").click(function(){ 
     $(this).toggleClass("checked"); 
    }); 
}); 
+0

спасибо, Джозеф, это именно то, что я хотел! смешивая это с моим угловым кодом JS, и он отлично работает !! – Dzu

+0

Я рад, что смогу помочь –

0

Поместите <img> внутри элемента <label>, связанного с флажком <input> element's id. Поэтому, когда вы нажимаете на ярлык (изображение), это то же самое, что и щелчок на флажке. Затем оберните <input> и <label> внутри <div>, чтобы вы могли установить флажок в нижнем правом углу.

HTML:

<div class="container"> 
    <input id="checkbox1" type="checkbox" /> 
    <label for="checkbox1"> 
     <img src="http://i.imgur.com/rpUZ96Y.jpg" /> 
    </label> 
</div> 

<div class="container"> 
    <input id="checkbox2" type="checkbox" /> 
    <label for="checkbox2"> 
     <img src="http://i.imgur.com/fKRGSmS.jpg" /> 
    </label> 
</div> 

CSS:

.container { 
    display: inline-block; 
    font-size: 0; 
    position: relative; 
} 

.container input { 
    bottom: 0; 
    position: absolute; 
    right: 0; 
} 

Вот fiddle.

Смежные вопросы