2016-08-12 3 views
0

Привет, ребята, у меня есть небольшая проблема с настраиваемым флажком. В Mozilla все в порядке, но когда дело доходит до Chrome, оно работает по-разному. Как показано ниже, флажки в столбце 1 отлично работают, когда они проверяются, но в других столбцах он просто дает фон, когда он проверяется. Где я дал одинаковые css всем флажкам. Это выглядит по-другому в мозилле, я имею в виду, что он работает хорошо.Проблема с галочкой на хроме

.listContent input[type=checkbox] { 
    opacity: 0; 
    float: left; 
} 
.listContent input[type=checkbox] + label { 
    margin: 0 0 0 8px; 
    position: relative; 
    cursor: pointer; 
    font-size: 16px; 
} 
.listContent input[type=checkbox] + label ~ label { 
    margin: 0 0 0 40px; 
} 

.listContent input[type=checkbox] + label::before { 
    content: ' '; 
    position: absolute; 
    left: -20px; 
    top: 2px; 
    border-radius: 4px; 
    -moz-border-radius: 4px; 
    -webkit-border-radius: 4px; 
    width: 14px; 
    height: 14px; 
    display: block; 
    background: white; 
    border: 1px solid #A9A9A9; 
} 
.listContent input[type=checkbox] + label::after { 
    content: ' '; 
    position: absolute; 
left: -19px; 
top: 3px; 
width: 16px; 
height: 16px; 
    display: block; 
    z-index: 1; 
    background: url('../../jpgs/checked.png') no-repeat center center; 
    transition: all .3s ease; 
    -moz-transition: all .3s ease; 
    -ms-transition: all .3s ease; 
    -o-transition: all .3s ease; 
    -webkit-transition: all .3s ease; 
    transform: scale(0); 
    -moz-transform: scale(0); 
    -ms-transform: scale(0); 
    -o-transform: scale(0); 
    -webkit-transform: scale(0); 
    transform: scale(0.7) !important; 
    opacity: 0; 
} 
.listContent input[type=checkbox]:checked + label::after { 
    transform: scale(1); 
    -moz-transform: scale(1); 
    -ms-transform: scale(1); 
    -o-transform: scale(1); 
    -webkit-transform: scale(1); 
    opacity: 1; 
} 
.listContent input[type=checkbox]:checked + label { 
    color: #64bd5f; 
} 
.listContent input[type=checkbox]:checked + label::before { 
    opacity: 1; 
    background: #64bd5f; 
} 

enter image description here

ответ

0

Проверьте этот сайт для CSS CheckBox стайлинга: http://www.csscheckbox.com/. В основном, для установки флажков вы устанавливаете фоновое изображение для флажка, который содержит проверенное и непроверенное состояние, и управляет фоновой позицией этого изображения в зависимости от того, установлен флажок или нет.

Например:

input[type=checkbox].css-checkbox + label.css-label { 
         padding-left:21px; 
         height:16px; 
         display:inline-block; 
         line-height:16px; 
         background-repeat:no-repeat; 
         background-position: 0 0; 
         font-size:16px; 
         vertical-align:middle; 
         cursor:pointer; 

        } 

        input[type=checkbox].css-checkbox:checked + label.css-label { 
         background-position: 0 -16px; 
        } 

Я вижу, что вы сделали что-то подобное, и вы манипулируете непрозрачность вместо фона-позиции. Я думаю, что фоновая позиция может быть проще реализовать и, по сути, такая же, как с использованием спрайта.

0

Я нашел решение, «переполнение: скрытое» дело повлияло на него. Спасибо всем

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