- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我发现这个 slider 无法在 IE11 和 safari 上运行后,我将其集成到我的网站中:
这里是 slider 代码的链接:
https://codepen.io/gvrban/pen/qjbpaa
它在 Chrome 和 IE11 中工作正常,我尝试更改样式,但问题仍然存在。我认为这与flexbox有关。
HTML 部分(只有一张幻灯片):
<div class="slider">
<div class="slider-wrapper flex">
<div class="slide flex">
<div class="slide-image slider-link next"><img src="https://goranvrban.com/codepen/img6.jpg"><div class="overlay"></div></div>
<div class="slide-content">
<div class="slide-date">30.10.2017.</div>
<div class="slide-title">LOREM IPSUM DOLOR SITE MATE, AD EST ABHORREANT</div>
<div class="slide-text">Lorem ipsum dolor sit amet, ad est abhorreant efficiantur, vero oporteat apeirian in vel. Et appareat electram appellantur est. Ei nec duis invenire. Cu mel ipsum laoreet, per rebum omittam ex. </div>
<div class="slide-more">READ MORE</div>
</div>
</div>
</div>
<div class="arrows">
<a href="#" title="Previous" class="arrow slider-link prev"></a>
<a href="#" title="Next" class="arrow slider-link next"></a>
</div>
</div>
CSS部分:
@import url('https://fonts.googleapis.com/css?family=Roboto');
body {background-color: #0D1B2B; overflow-x: hidden; font-family: roboto; -webkit-font-smoothing: antialiased; margin: 0;}
.flex { display: -webkit-flex; display: flex; -webkit-flex-direction: row; flex-direction: row; -webkit-justify-content: flex-start; justify-content: flex-start;}
.slider-wrapper div {position: relative;}
.slider-wrapper {margin-top: 5vw; margin-left: 11vw;}
.slide-image {height: 24vw;}
.slide-image img {width: 24vw; cursor: pointer;}
.slide-content {width: 25vw; color: #fff; padding:3vw 18vw 3vw 9vw;}
.slide-date {color: #0a8acb; font-size: 1.1vw; font-weight: 400; letter-spacing: 0.1vw; padding-bottom: 1.4vw;}
.slide-title {font-size: 1.2vw; font-weight: 400; letter-spacing: 0.1vw; line-height: 1.55vw; padding-bottom: 1.8vw;}
.slide-text {font-size: 0.80vw; line-height: 1.2vw; opacity: 0.8; padding-bottom: 4vw;}
.slide-more {font-weight: 400; letter-spacing: 0.1vw; float: left; font-size: 0.9vw;}
.slide-bullet {width: 0.5vw; height: 0.5vw; background-color: #0b8bcc; border-radius: 200%; position: relative; margin-left: 1.2vw;}
.slide-nav {margin-left: 64vw; margin-top: -5.5vw;}
div.overlay-blue {width: 100%; height: 100%; position: absolute; top: 0; transition: 0.5s ease all;}
div.overlay-blue:hover {background-color: rgba(13, 27, 43, 0.5);}
.arrows{width: 3.5vw; margin-top: -5.8vw; margin-left: 72vw; position: relative;}
.arrow {display: inline-block; position: absolute; width: 1.2vw; height: 1.2vw; background: transparent; text-indent: -9999px; border-top: 0.15vw solid #fff; border-left: 0.15vw solid #fff; transition: all .1s ease-in-out; text-decoration: none; color: transparent;
}
.arrow:hover {border-color: #0A8ACB; border-width: 0.25vw;
}
.arrow:before {display: block; height: 200%; width: 200%; margin-left: -50%; margin-top: -50%; content: ""; transform: rotate(45deg);}
.arrow.prev {transform: rotate(-45deg); left: 0;}
.arrow.next {transform: rotate(135deg); right: 0;}
JS部分:
( function($) {
$(document).ready(function() {
var s = $('.slider'),
sWrapper = s.find('.slider-wrapper'),
sItem = s.find('.slide'),
btn = s.find('.slider-link'),
sWidth = sItem.width(),
sCount = sItem.length,
slide_date = s.find('.slide-date'),
slide_title = s.find('.slide-title'),
slide_text = s.find('.slide-text'),
slide_more = s.find('.slide-more'),
slide_image = s.find('.slide-image img'),
sTotalWidth = sCount * sWidth;
sWrapper.css('width', sTotalWidth);
sWrapper.css('width', sTotalWidth);
var clickCount = 0;
btn.on('click', function(e) {
e.preventDefault();
if( $(this).hasClass('next') ) {
( clickCount < ( sCount - 1 ) ) ? clickCount++ : clickCount = 0;
} else if ( $(this).hasClass('prev') ) {
( clickCount > 0 ) ? clickCount-- : ( clickCount = sCount - 1 );
}
TweenMax.to(sWrapper, 0.4, {x: '-' + ( sWidth * clickCount ) })
//CONTENT ANIMATIONS
var fromProperties = {autoAlpha:0, x:'-50', y:'-10'};
var toProperties = {autoAlpha:0.8, x:'0', y:'0'};
TweenLite.fromTo(slide_image, 1, {autoAlpha:0, y:'40'}, {autoAlpha:1, y:'0'});
TweenLite.fromTo(slide_date, 0.4, fromProperties, toProperties);
TweenLite.fromTo(slide_title, 0.6, fromProperties, toProperties);
TweenLite.fromTo(slide_text, 0.8, fromProperties, toProperties);
TweenLite.fromTo(slide_more, 1, fromProperties, toProperties);
});
});
})(jQuery);
$('.overlay').addClass('overlay-blue');
非常感谢。
最佳答案
早上好,
您可以在变量声明下使用 console.log(sWidth, 'sWidth') 并查看您的变量在不同浏览器中不会返回相同的值。
解决方案:
从幻灯片 html 代码中删除 Flex 类,并将显示更改为 block ,以在跨浏览器中获得相同的计算,并且您应该在其中添加另一个 div 以保持 Flex 样式。
将 HTML 幻灯片代码更改为:
<div class="slide">
<div class="slide-container">
<div class="slide-image slider-link prev"><img src="https://goranvrban.com/codepen/img2.jpg">
<div class="overlay"></div>
</div>
<div class="slide-content">
<div class="slide-content-inner">
<div class="slide-date">30.07.2017.</div>
<div class="slide-title">LOREM IPSUM DOLOR SITE MATE, AD EST ABHORREANT</div>
<div class="slide-text">Lorem ipsum dolor sit amet, ad est abhorreant efficiantur, vero oporteat apeirian in
vel. Et appareat electram appellantur est. Ei nec duis invenire. Cu mel ipsum laoreet, per rebum omittam ex.
</div>
<div class="slide-more">READ MORE</div>
</div>
</div>
</div>
</div>
并添加这些 css 样式:
.slide {
display:block;
}
.slide-container{
display: flex;
}
.slide-content-inner{
width:35vw;
padding: 5%;
}
并更改这些(删除填充并更改宽度):
.slide-content {
width: 50vw; //changed to 50vw
color: #fff;
/*padding:3vw 18vw 3vw 9vw;*/ //removed
}
您可以通过额外的样式获得解决方案:)
关于javascript - GSAP slider 在 IE11 和 Safari 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58035809/
尝试在 Gatsby 站点中创建动画时,出现以下错误: 12:57:12:665 (ScrollMagic.Scene) -> ERROR calling setTween() due to miss
我有个问题想问你,希望你能帮助我。我正在使用 为自己构建视差效果GSAP, -ScrollTrigger v3.5.1 并为自己构建了一个名为 parallax() 的函数。 我想在具有不同设置的区域
因此,我在 Three.js 中获取对象的 Y 位置(高度),然后用它更新 greensock 时间变量。它正在登录控制台,但不更新 greensock 中的变量。我究竟做错了什么?当我向时间变量添加
我正在尝试使用 gsap 制作时钟动画。问题是我的实际脚本并不精确。我需要的是: 按下按钮 开始动画(整小时旋转) 然后再次按下按钮停止等待 2 秒并继续这样做 只需开始 -> 旋转 -> 停止(2
所以我目前正在花一些空闲时间学习和探索 GSAP(Greensock 动画平台)。我想知道是否可以为一个特定的重复元素提供一组值。这就是我的 Tween 的样子; TweenMax.from(blin
首先,我是 GSAP 新手,所以请耐心等待。我尽力描述我所面临的困难。 为了制作 SVG 文件的动画,我开始深入研究 GSAP。我为 SVG 文件中的不同元素创建了多个补间。一切工作正常,并且动画效果
我有这段代码可以为不透明度为 1 到 0 的对象设置动画。 但我想知道如何才能让这个 Action 无限重复,每 1 秒? 有什么想法吗? var tl = new TimelineMax();
我正在尝试使用 GSAP 进行我的第一个补间,但没有任何反应,即使我尝试使用示例代码也是如此。 我有一个包含以下代码的 php 文件: #green { width: 100px;
我有以下 3 个 HTML 元素: Item 1 Item 2 Item 3 以及以下 JavaScript: var timeline = new TimelineMax({paused:true,
我开始学习和使用 GreenSock Animation Platform (GSAP) 我创建了一个使用 3D 变换来旋转元素的“旋转票”示例,但是我在背面可见性方面遇到了问题。 看看我的 demo
GSAP 声称使用 HTML5 来执行出色的网络动画,但在他们关于 Greensock.com 的文章中明确表示它不使用 html5 中的 Canvas 框架。很明显,他们正在使用提供的 script
我正在使用 ssr 渲染在 nuxt.js 中编写应用程序。我有 gsap 的问题。我正在使用 typescript ,当我尝试使用 timeline.staggerTo() 方法时,我收到错误,即
我试图理解这篇文章: https://codepen.io/GreenSock/pen/RwVgEgZ 对我来说最难的是理解 select属性(property)。 AFAIK,这是 的属性HTML
如果我在 html 文件中编写脚本代码,动画就会起作用。但如果动画代码在js文件中,那就不行了。这是我的动画代码 $(document).ready(function(){ $(window)
我想做的是这样的:我想在页面的Y或X轴(底部和左侧边框)上生成框并让它们移动彼此平行,直到它们离开屏幕,我想将它们删除。这是我到目前为止所做的: Codepen 。 function generat
Holla,当我关闭菜单并再次打开它时,我需要重置动画。我怎样才能做到这一点?动画仅在我第一次打开菜单时起作用。 CSSPlugin.defaultTransformPerspective = 600
我有描述环境的大 svg 图片,并尝试创建循环,从左到右移动图片: html: CSS: .animation-wrapper{ top: -0; left: -10000px;
大家好.. 我想知道是否可以在GSAP中使用循环,或者它可能对这种情况有一些特殊的东西。 在我的情况下,我有 ul 元素和 30 li 项。 我想给他们增加单独的动画。 例如这样 TweenMax.t
我在 React 应用程序中使用 GSAP,在路线之间快速来回切换时遇到了大量空目标错误。 问题是我的动画比在 Macbook 上向左/向右滑动来后退/前进所需的时间更长,因此,当下一页加载时,旧动画
动画在播放时有效,但在使用reverse()函数时无效 这是演示 https://codesandbox.io/s/gatsby-express-9uqi7导航栏组件 const [state, se
我是一名优秀的程序员,十分优秀!