Свойство курсора: указатель не применяется к кнопкам загрузки файлов в браузерах Webkit - PullRequest
18 голосов
/ 26 сентября 2011

У меня есть код CSS, который на самом деле не работает в браузерах webkit, таких как Safari и Chrome

, если вы хотите живой пример, это http://jsfiddle.net/mnjKX/1/

У меня есть этот код CSS

.file-wrapper {
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    position: relative;
}
.file-wrapper input {
    cursor: pointer;
    font-size: 100px;
    height: 100%;
    filter: alpha(opacity=1);
    -moz-opacity: 0.01;
    opacity: 0.01;
    position: absolute;
    right: 0;
    top: 0;
}
.file-wrapper .button {
    background: #79130e;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 11px;
    font-weight: bold;
    margin-right: 5px;
    padding: 4px 18px;
    text-transform: uppercase;
}

и этот HTML-код:

<span class="file-wrapper">
   <input type="file" name="photo" id="photo" />
   <span class="button">Choose a Photo</span>
</span>

этот код показывает скрытый тег входного файла, проблема в том, что курсор: указатель не работает в браузерах webkit,

как я могу решить это или обойти / обойти это?

Ответы [ 2 ]

68 голосов
/ 26 сентября 2011

Для начала, это работает в Chrome, если вы удалите объявление height из правила input.

Демо: http://jsfiddle.net/mnjKX/16/

Но это прозрачное поле ввода - чертовски хак ... Я бы не стал на это полагаться.


Обновление:

А вот правильное решение:

::-webkit-file-upload-button { cursor:pointer; }

Я думал, что кнопка загрузки файла недоступна, но таблица стилей агента пользователя Chrome доказала мою ошибку :)

15 голосов
/ 12 января 2013

Интересное (кросс-браузерное) решение, которое я придумал:

Дайте ввод CSS-свойству курсора: указатель, поместите вход в div (с переполнением: скрытый) и дайте вводулевая обивка 100%.Область дополнения будет иметь свойство указателя.

Лично я не доверяю исправлениям -webkit и -moz, потому что мне кажется, что они произвольные и временные, и скоро будут заменены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...