Вращающиеся глификоны/Шрифт Удивительный в Bootstrap
Я пытаюсь заставить глификоны на моем загрузочном сайте вращаться при наведении (в дополнение к изменению цвета).
Здесь моя попытка: http://jsfiddle.net/young_greedo17/88g5P/
... который использует этот код:
<div class="widgetbox">
<br><br>
<div class="icon-calendar icon-large"></div>
<h5>Add an event</h5>
</div>
... здесь CSS:
.widgetbox {
width: 250px;
height: 250px;
background-color: black;
color: white;
text-align: center;
}
.widgetbox [class*="icon-"] {
-webkit-transition-duration: 1.0s;
-moz-transition-duration: 1.0s;
-o-transition-duration: 1.0s;
transition-duration: 1.0s;
-webkit-transition-property: -webkit-transform;
-moz-transition-property: -moz-transform;
-o-transition-property: -o-transform;
transition-property: transform;
}
.widgetbox:hover [class*="icon-"] {
color: #24a159 !important;
-webkit-transform:rotate(360deg);
-moz-transform:rotate(360deg);
-o-transform:rotate(360deg);
transform:rotate(360deg);
}
Вот пример того, что я хочу видеть при наведении курсора (см. окно ATX в четырех столбцах): http://themeforest.net/item/flatnica-ultimate-flat-template/full_screen_preview/5343665
Очевидно, что цвет меняется, но даже это не изменяется в соответствии с параметрами, которые я устанавливаю для перехода в CSS.
Спасибо!
Ответы
Ответ 1
Проблема в том, что вы пытаетесь преобразовать элемент inline
- это невозможно.
Вам нужно изменить отображаемое значение глификона для встроенного блока.
Вот подробности из модуля трансформирования CSS:
преобразуемый элемент
Преобразуемый элемент является элементом в одной из этих категорий:
-
элемент, макет которого определяется моделью блока CSS, которая является либо блочным, либо атомарным элементом линейного уровня, либо свойство отображения которого вычисляется в таблице-таблице, таблице-строке-группе, заголовке таблицы -группа, таблица-footer-группа, таблица-таблица или заголовок таблицы [CSS21]
-
элемент в пространстве имен SVG и не управляется моделью окна CSS, которая имеет атрибуты transform, 'patternTransform' или gradientTransform [SVG11] `
Ответ 2
Новый шрифт удивительный, введенный поворот нотация http://fontawesome.io/examples/
//Normal:
<i class="fa fa-shield"></i> normal<br>
//Rotated:
<i class="fa fa-shield fa-rotate-90"></i> fa-rotate-90<br>
<i class="fa fa-shield fa-rotate-180"></i> fa-rotate-180<br>
<i class="fa fa-shield fa-rotate-270"></i> fa-rotate-270<br>
//Flipped
<i class="fa fa-shield fa-flip-horizontal"></i> fa-flip-horizontal<br>
<i class="fa fa-shield fa-flip-vertical"></i> icon-flip-vertical
Ответ 3
Файл font-awesome.css
устанавливает display: inline
для вашего селектора: [class^="icon-"],
[class*="icon-"]
. Вы можете увидеть это в строке 161 файла CSS:
[class^="icon-"],
[class*=" icon-"] {
display: inline;
width: auto;
height: auto;
line-height: normal;
vertical-align: baseline;
background-image: none;
background-position: 0% 0%;
background-repeat: repeat;
margin-top: 0;
}
Поэтому вам нужно установить .widgetbox [class*="icon-"]
для свойства display: block;
http://jsfiddle.net/88g5P/6/
EDIT: после просмотра различий между display:block;
и display:inline-block;
я столкнулся с этим простым визуальным ответом на переполнение стека. Основываясь на этом ответе, вероятно, лучше использовать display:inline-block
Ответ 4
вам нужно переопределить настройку значка, так как вращение не будет работать на встроенных элементах
.widgetbox [class*="icon-"] {
...
display:block;
}
Ответ 5
В вашем конкретном случае проблема заключается в том, что используемые вами значки имеют display: inline-block
, я добавил display:block
в пользовательский CSS, и теперь он работает.