Подтвердить что ты не робот

Вращающиеся глификоны/Шрифт Удивительный в 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.

Спасибо!

4b9b3361

Ответ 1

Проблема в том, что вы пытаетесь преобразовать элемент inline - это невозможно.

Вам нужно изменить отображаемое значение глификона для встроенного блока.


Вот подробности из модуля трансформирования CSS:

преобразуемый элемент

Преобразуемый элемент является элементом в одной из этих категорий:

  • элемент, макет которого определяется моделью блока CSS, которая является либо блочным, либо атомарным элементом линейного уровня, либо свойство отображения которого вычисляется в таблице-таблице, таблице-строке-группе, заголовке таблицы -группа, таблица-footer-группа, таблица-таблица или заголовок таблицы [CSS21]

  • элемент в пространстве имен SVG и не управляется моделью окна CSS, которая имеет атрибуты transform, 'patternTransform' или gradientTransform [SVG11] `

Ответ 2

Новый шрифт удивительный, введенный поворот нотация http://fontawesome.io/examples/

//Normal:
<i class="fa fa-shield"></i>&nbsp; normal<br>

//Rotated:
<i class="fa fa-shield fa-rotate-90"></i>&nbsp; fa-rotate-90<br>
<i class="fa fa-shield fa-rotate-180"></i>&nbsp; fa-rotate-180<br>
<i class="fa fa-shield fa-rotate-270"></i>&nbsp; fa-rotate-270<br>

//Flipped
<i class="fa fa-shield fa-flip-horizontal"></i>&nbsp; fa-flip-horizontal<br>
<i class="fa fa-shield fa-flip-vertical"></i>&nbsp; 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, и теперь он работает.