以下是问题的屏幕截图:
我使用本教程中的说明来了解如何将播放按钮放在动画GIF上:http://www.hongkiat.com/blog/on-click-animated-gif/
在大多数情况下,这是有效的,但是当屏幕尺寸变为移动时,我无法让播放按钮保持居中。
我正在使用这个主题(雨果):https://github.com/tomanistor/osprey
我猜我需要在表格中包含图像和播放按钮图标?该教程的示例包含DIV中包含的图像,但是当我尝试这样时,我丢失了播放按钮:
<figure>
<img src="/images/image-placeholder.jpg" alt="Static Image" data-alt="/images/animated-gif.gif">
</figure>
我目前正在使用以下内容获取占位符和播放图像:
.
.
.
@font-face {
font-family: 'font-awesome';
font-style: normal;
font-weight: 700;
src: url(https://cdnjs.cloudflare.com/ajax/libs/fontawesome/4.7.0/fonts/fontawesome-webfont.ttf) format("truetype")
}
.
.
.
figure {
width: 100%;
margin: 0;
float: left;
padding: 10px;
position: relative;
cursor: pointer;
}
figure:before,
figure:after {
position: absolute;
}
figure:before {
top: 206px;
left: 50%;
margin-left: -50px;
width: 100px;
height: 100px;
border: 3px solid rgba(255, 255, 255, 0.7);
border-radius: 50px;
background-color: rgba(204, 209, 217, 0.3);
font-family: 'font-awesome';
content: '\f04b';
text-align: center;
line-height: 95px;
font-size: 30px;
color: #182230;
}
figure:after {
position: absolute;
display: inline-block;
width: auto;
text-align: center;
top: 20px;
right: 20px;
font-size: 11px;
font-weight: 600;
padding: 5px;
border-radius: 3px;
color: #656D78;
background-color: rgba(170, 178, 189, 0.1);
text-transform: uppercase;
}
figure.play:before {
display: none;
}
figure.play:after {
content: 'playing';
color: #fff;
background-color: #212121;
text-transform: uppercase;
}
figcaption {
padding-top: 15px;
font-size: 14px;
text-align: center;
color: #8d9bad;
}
figcaption a {
color: #59687b;
text-decoration: none;
}
我尝试打开我的浏览器的开发工具并玩弄风格的值,但感觉像是傻瓜。
以下是我添加到主题中的CSS片段:
{{1}}
如何让我的播放按钮保持与教程示例中的完全居中?
答案 0 :(得分:0)
将figure:before
更改为top: 50%
以使其保持在最高位置50%,然后移除margin-left
并改用transform: translate(-50%,-50%)
,这会将元素移到左侧并且它自己的宽度/高度的50%。 margin-left: -50px
与示例中的translateX(-50%)
相同,但使用transform: translate()
更简单。
figure:before {
top: 50%;
left: 50%;
/* margin-left: -50px; */
width: 100px;
height: 100px;
border: 3px solid rgba(255, 255, 255, 0.7);
border-radius: 50px;
background-color: rgba(204, 209, 217, 0.3);
font-family: 'font-awesome';
content: '\f04b';
text-align: center;
line-height: 95px;
font-size: 30px;
color: #182230;
transform: translate(-50%,-50%);
}