我仍然是一名学习型开发人员,我不确定这个问题是什么,但我的Parallax图片似乎只在Google Chrome上加载。 Firefox,IE和Safari似乎运行得很完美。我已经读过由于Chrome中的故障导致它与固定属性有什么关系,但我不确定我的下一步是什么。
所以,即使不是所有的网页,我都会设置当前的英雄:
<section class="hero-fullscreen parallax">
<div class="background-image">
<img src="img/backgrounds/encounter.png" alt="img">
</div>
</section>
下面我有我的CSS:
.hero-fullscreen {
position: relative;
width: 100%;
height: 100%;
background-color: #0f1112;
}
.parallax {
position: relative;
overflow: hidden
}
.parallax .container {
position: relative;
z-index: 2;
}
.parallax > .background-image,
.parallax .slides li > .background-image {
height: 100vh;
top: -50vh;
transition: opacity 0.9s ease;
-webkit-transform-style: preserve-3d;
}
.parallax:first-child .slides li > .background-image,
.parallax:first-child .background-image,
.hero-fullscreen.parallax .background-image {
top: 0;
}
.main-container > a:first-child + .parallax .background-image {
top: 0;
}
@media all and (max-width: 1024px) {
.parallax > .background-image,
.parallax .slides li > .background-image {
top: 0 !important;
transform: none !important;
-webkit-transform: none !important;
height: 100%;
}
}
/* Background Image */
.background-image {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
background-size: cover !important;
background-position: 50% 50% !important;
z-index: 0;
opacity: 0;
background: #1c1c1c;
transition: opacity .3s;
-webkit-transition: opacity .3s;
-moz-transition: opacity .3s;
}
.background-image img {
display: none
}
section {
position: relative;
}
用我的JS:
parallaxVossen();
var isOpera, isFirefox, isSafari, isIE, isEdge, isChrome, isBlink, isMob;
isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
isFirefox = typeof InstallTrigger !== 'undefined';
isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
isIE = navigator.userAgent.indexOf("MSIE ");
isEdge = !isIE && !!window.StyleMedia;
isChrome = !!window.chrome && !!window.chrome.webstore;
isBlink = (isChrome || isOpera) && !!window.CSS;
isMob = (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
if (isChrome || isFirefox || isSafari) {
if ($(window).width() > 992) {
$('.parallax').vossenParallax();
};
$(window).scroll(function () {
function parallaxHero() {
var scrolled = $(window).scrollTop();
if ($(window).width() > 992) {
$('.map-parallax').css('top', -(scrolled * 0.4) + 'px');
$(".slide").css({transform: 'translate3d(0px, ' + (scrolled * 0.4) + 'px, 0px)'});
}
}
parallaxHero();
});
}
$(window).load(function () {
$('.parallax-bg img').animate({opacity : 1}, 1000);
$('.white-until-load').css({color : "#191a1c"});
});
就像我说的,除了Google Chrome之外,它似乎适用于所有浏览器。
亲自尝试:http://www.gracechurch.tv
有什么想法吗?
答案 0 :(得分:2)
目前,我在网上找到了两个有效的修复工具。
您可以将以下属性添加到包含带固定附件的背景图像的元素中。
%pylab inline
import random
import string
import numpy as np
import tensorflow as tf
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import LSTM, TimeDistributed, Dense, SimpleRNN
BATCH_SIZE = 1
NAMESPACE = string.ascii_uppercase+string.digits
NAMESPACELENGTH = len(NAMESPACE)
def generate_encoding():
encoding = {}
for i, letter in enumerate(NAMESPACE):
encoding[letter] = i
return encoding
ENCODING = generate_encoding()
def letter_to_vec(letter):
vec = np.zeros(NAMESPACELENGTH)
vec[ENCODING[letter]] = 1
return vec
def word_to_matrix(word):
return np.array([letter_to_vec(letter) for letter in word])
def dummy_X_y(size=BATCH_SIZE):
X = []
y = []
for N in np.random.randint(1, 100, size):
tmp = ''.join(random.choice(NAMESPACE) for _ in range(N))
X.append(tmp)
y.append(len(tmp))
del tmp
return X, y
print(dummy_X_y())
def generate_model():
model = Sequential()
model.add(SimpleRNN(1, input_shape=(None, NAMESPACELENGTH), return_sequences=False))
model.add(Dense(1, activation='linear'))
model.compile(loss='mean_squared_error',
optimizer='adam', metrics=['mean_squared_error'])
return model
model = generate_model()
for _ in range(20000):
# train LSTM
# generate new random sequence
X,y = dummy_X_y(size=BATCH_SIZE)
X = np.array([word_to_matrix(x) for x in X])
# fit model for one epoch on this sequence
model.fit(X, y, epochs=1, batch_size=BATCH_SIZE, verbose=1)
或者您可以使用背景固定图像将元素的位置更改为静态。
yourdiv {
position:relative;
background-image:url(your_image);
background-size:cover;
background-position:center;
background-attachment:fixed;
transform: translate3d(0,0,0);
-webkit-transform: translate3d(0,0,0);
}
希望现在有所帮助。
答案 1 :(得分:0)
Chromes从66到67的新更新存在问题。请检查您正在运行的Chrome版本。如果它是67,那就是你的问题...或者我应该说,谷歌的问题。我在其他CPU的66版本上测试了我的网站,没有任何问题。