jquery - 使用带有光滑 slider 的CSS的三 Angular 形

标签 jquery css css-shapes shapes slick.js

我正在使用光滑的 slider ,并希望将 slider 制作成三 Angular 形。尝试使用 css3 skew

 &__shape {
    overflow: hidden;
    position: absolute;
    height: 100%;
    transform: skewX(-55.98deg);
    transform-origin: 100% 0;
    transition: all 1s ease;
    width: 100%;

    div.is-zoom & {
        transform: skewX(0deg);
    }
}

参见代码笔 http://codepen.io/adamjw3/pen/aBYrMK?editors=1111

这适用于直 Angular 三 Angular 形,但我无法让它适用于等边三 Angular 形、钝 Angular 三 Angular 形或斜 Angular 三 Angular 形。

不能使用边框,因为我希望图像位于中间。目前我已经放弃使用 css 并转而使用 svg 图形,但是当你点击放大时,它并没有那么好的动画效果。

等边三 Angular 形、钝 Angular 、斜 Angular 可以用css3做吗?

谢谢

最佳答案

一种可以让您轻松控制任意数量动画的方法是使用 ::before::after 伪元素:

body {
overflow: hidden;
}

h2 {
position: relative;
z-index: 24;
}

div {
display: inline-block;
position: relative;
top: -40px;
z-index: 12;
height: 80px;
margin: 0 30px;
background-color: rgb(255,0,0);
transition: all 1s ease-out;
}

div::before,
div::after {
content: '';
position: absolute;
top: -40px;
z-index: 6;
width: 120px;
height: 120px;
background-color: rgb(255,255,255);
transition: all 1s ease-out;
}

div:hover {
z-index: 6;
transform:scale(2);
}


/* EQUILATERAL TRIANGLE */
div:nth-of-type(1) {
width: 80px;
}

div:nth-of-type(1)::before {
left: -80px;
transform: rotate(-60deg);
}

div:nth-of-type(1)::after {
right: -80px;
transform: rotate(60deg);
}


/* OBTUSE TRIANGLE */
div:nth-of-type(2) {
width: 160px;
}

div:nth-of-type(2)::before {
left: -38px;
transform: rotate(-120deg);
}

div:nth-of-type(2)::after {
right: -38px;
transform: rotate(120deg);
}

/* SCALENE TRIANGLE */
div:nth-of-type(3) {
width: 160px;
}

div:nth-of-type(3)::before {
left: -38px;
transform: rotate(-120deg);
}

div:nth-of-type(3)::after {
top: -30px;
right: -38px;
transform: rotate(160deg);
}
<h2>Hover over any triangle to see it expand</h2>

<div></div>
<div></div>
<div></div>

关于jquery - 使用带有光滑 slider 的CSS的三 Angular 形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40995258/

相关文章:

javascript - 使用整个 DIV 作为带有 onchange 的按钮来刷新内容

javascript - 如何不断增加购物 list 中的总价

html - 将蒙版应用到 box-shadow

javascript - 如何在 CSS 或 Javascript 中制作曲线形状

javascript - 如何增加 ionic 列表的宽度?

javascript - 检查一个元素是否存在两个属性

javascript - 标签 -> 复选框文本

html - 为什么分页符不适用于 CSS 显示网格?

javascript - contentEditable,CTRL-B CTRL-I 和保存

html - 带有底边三 Angular 形的标签