【发布时间】:2014-07-31 11:19:20
【问题描述】:
我正在尝试使用纯 CSS 和无背景图像创建下面显示的“向上和向下”控制按钮。
但是当我在“li.className:after 或 li.className:before”中添加箭头的 CSS 时,主框的位置移动了。
这是我遇到的问题的 Fiddle > http://jsfiddle.net/8usFk/
以下是相同的代码:
HTML
<div class="positionCameras">
<ul>
<li title="Move Up" class="cameraLeft" id="cameraUp"></li>
<li title="Camera" class="cameraIcon"></li>
<li title="Move Down" class="cameraRight" id="cameraDown"></li>
</ul>
</div>
CSS
.positionCameras ul, .positionCameras li {
margin: 0;
padding: 0;
list-style: none;
display: inline-block;
}
.positionCameras li.cameraLeft, .positionCameras li.cameraIcon, .positionCameras li.cameraRight {
width: 25px;
height: 25px;
cursor: pointer;
background: #cccccc;
margin: 5px;
border-radius: 5px;
border: 1px solid #aaaaaa;
box-shadow: 1px 2px 15px #cccccc;
}
.positionCameras li.cameraLeft:before {
content:" ";
width: 0;
height: 0;
border-style: solid;
border-width: 0 5px 10px 5px;
border-color: transparent transparent #007bff transparent;
}
.positionCameras li.cameraIcon {
cursor: default;
}
.positionCameras li.cameraRight:before {
width: 0;
height: 0;
border-style: solid;
border-width: 8.7px 5px 0 5px;
border-color: #007bff transparent transparent transparent;
}
如果您需要任何其他信息,请告诉我。
请提出建议。
【问题讨论】:
-
您可以考虑使用一些字符代码来代替箭头 - 请参阅:stackoverflow.com/questions/2701192/…
-
有点小技巧,但在
.positionCameras li.cameraLeft:before中设置position: fixed; left: 21px; top: 21px;可以解决这个问题。
标签: html css css-shapes arrow-keys