Nano Hash - криптовалюты, майнинг, программирование

position: исправлена ​​путаница с анимацией ключевых кадров

На моем веб-сайте анимация ключевых кадров должна окрашивать изображение в синий цвет. Но position:fixed свойства, делающего это же самое изображение отзывчивым, похоже, путается с ключевыми кадрами.

Если я удалю position:fixed, произойдет переход синего оттенка. Но когда я кладу его обратно, переход оттенка становится белым, а не синим.

Для codepen: нажмите здесь

Есть ли способ заставить оба этих свойства работать вместе?

Вот код:

<html>
<head>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="dist/css/bootstrap.min.css" />
    <link rel="stylesheet" href="hover-min.css" />
    <link rel="stylesheet" href="main.css" />
    <link href='https://fonts.googleapis.com/css?family=Roboto:400,900' rel='stylesheet' type='text/css'>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
    <script type="application/javascript" src="dist/js/jquery-2.1.4.min.js"></script>       
    <script type="application/javascript" src="dist/js/bootstrap.min.js"></script>
    <script src="script/jquery.js" type="text/javascript"></script>
    <script src="background.js" type="text/javascript"></script>
 </head>

<body>
    <div id="opacity"> <!-- DIV containing the image supposed to turn blue -->
        <img src="http://www.nexusyouthsummit.org/wp-content/uploads/2013/09/nyc-fisheye-20121.jpg" alt="" class="nyc" />
    </div>      
</body>
</html>

/* CSS */
img.nyc {
    *position:fixed; /* property messing with the blue tint transition, rendering it white unless I remove it */
    top:0;
    left:0;
    z-index:-1;
}

#opacity {
    background-color: #428BCA;
    display:inline-block;
}
#opacity img {
    height : 300px;
    opacity: 0.5;
    -webkit-animation: animation 2s linear;
    -moz-animation: animation 2s linear;
    -ms-animation: animation 2s linear;
    -o-animation: animation 2s linear;
    animation: animation 2s linear;
}

@-webkit-keyframes animation{
    from{
        opacity: 1;
    }
    to{
        opacity: 0.5;
    }
}
@-moz-keyframes animation{
    from{
        opacity: 5;
    }
    to{
        opacity: 0.5;
    }
}
@-ms-keyframes animation{
    from{
        opacity: 5;
    }
    to{
        opacity: 0.5;
    }
}
@-o-keyframes animation{
    from{
        opacity: 1;
    }
    to{
        opacity: 0.5;
    }
}
@keyframes animation{
    from{
        opacity: 5;
    }
    to{
        opacity: 0.5;
    }
}

  • ссылки на codepen нет 04.09.2015
  • Извините, это сейчас. :) 04.09.2015
  • что, если вы переместите позиционирование на #opacity? 04.09.2015
  • Ну, оба работают, что хорошо, спасибо. Но теперь изображение обрезано. 04.09.2015
  • Картинка, используемая в качестве фонового изображения, обрезается снизу в окне браузера. Но когда в полноэкранном режиме, появляется изображение целиком, кадрирования нет. 04.09.2015
  • Итак, я исправил проблему с обрезанным изображением, изменив размер самого изображения. Теперь он работает отлично. Я хотел бы проголосовать за ваши комментарии за вашу помощь, но, похоже, вам нужно опубликовать правильный ответ, чтобы я мог это сделать. 04.09.2015

Ответы:


1

Переместите фиксированное позиционирование на #opacity:

#opacity {
  position: fixed;
} 
04.09.2015

2

«#opacity» не знает, насколько большим он должен стать после того, как вы установите для его дочернего элемента значение position:absolute или position:fixed. Если вы установите

#opacity {
    height : 300px;
    width: 660px;
    position: fixed;
    background-color: #428BCA;
    display:inline-block;
} 

это будет работать снова.

Вам, вероятно, понадобится некоторый js-код, чтобы обрезать родительский элемент до самого большого дочернего элемента. 5191731)

03.09.2015
  • Переход синего оттенка происходит только в размерах, которые вы задали в ширине и высоте вашего кода. Чтобы это происходило на всем изображении, мне пришлось установить с и высоту на авто. Теперь проблема не в переходе синего оттенка, а в том, что изображение обрезается внизу, когда оно не в полноэкранном режиме. 04.09.2015
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..