下拉菜单旁边的后退箭头间距有问题。问题是它使箭头居中,就好像下拉菜单处于事件状态一样。我希望它位于下拉菜单的左侧而不是对齐方式。
我包含了一个 jsfiddle show 显示。
HTML
<div id="portfolio">
<table>
<tr>
<td>
<a href="index.html"><div class="back-arrow-left" ></div></a>
</td>
<td>
<dropdown>
<input id="toggle2" type="checkbox">
<label for="toggle2" class="animate">Portfolio<i class="fa fa-list float-right"></i></label>
<ul class="animate">
<li class="animate">Websites</li>
<li class="animate">Computer Animations</li>
<li class="animate">C/C++ Programs</li>
</ul>
</dropdown>
</td>
</tr>
</table>
</div>
CSS
.back-arrow-left {
width: 0;
height: 0;
border-top: 30px solid transparent;
border-bottom: 30px solid transparent;
border-right:30px solid gray;
vertical-align: top;
}
.back-arrow-left:hover {
border-right:30px solid #1ABC9C;
}
#portfolio{
width: 400px;
float: right;
}
*{
padding: 0;
margin: 0;
font-family: 'Lato', sans-serif;
box-sizing: border-box;
}
.float-right{
float: right;
}
.fa{
font-size: .8em;
line-height: 22px !important;
}
dropdown{
display: inline-block;
margin: 0px 50px;
}
dropdown label, dropdown ul li{
display: block;
width: 200px;
background: #ECF0F1;
padding: 15px 20px;
}
dropdown label:hover, dropdown ul li:hover{
background: #1ABC9C;
color: white;
cursor: pointer;}
dropdown label{
color: #1ABC9C;
border-left: 4px solid #1ABC9C;
border-radius: 0 5px 0 0;
position: relative;
z-index: 2;
}
dropdown input{
display: none;
}
dropdown input ~ ul{
position: relative;
visibility: hidden;
opacity: 0;
top: -20px;
z-index: 1;
}
dropdown input:checked + label{
background: #1ABC9C;
color: white;
}
dropdown input:checked ~ ul{
visibility: visible;
opacity: 1;
top: 0;
}
$colors: #E74C3C, #0072B5, #2C3E50;
@for $i from 1 through length($colors) {
dropdown ul li:nth-child(#{$i}) {
border-left: 4px solid nth($colors, $i);
.fa{
color: nth($colors, $i);
}
&:hover {
background: nth($colors, $i);
color: white;
.fa{
color: white;
}
}
}
}
.animate{
-webkit-transition: all .3s;
-moz-transition: all .3s;
-ms-transition: all .3s;
-ms-transition: all .3s;
transition: all .3s;
backface-visibility:hidden;
-webkit-backface-visibility:hidden; /* Chrome and Safari */
-moz-backface-visibility:hidden; /* Firefox */
-ms-backface-visibility:hidden; /* Internet Explorer */
http://jsfiddle.net/e1nuabgs/
您使用该表是否有特殊原因?这不符合 HTML 5 标准,以后可能会导致问题。
事实上,是导致您出现问题的表格。您有围绕数据的表格,应该将其定向到您想要的顺序,但您已经在使用 css 将其与表格对齐!
如果您取出表格并在您的 css 中添加一行,它会完美地工作。
.back-arrow-left {
float: left;
width: 0;
height: 0;
border-top: 30px solid transparent;
border-bottom: 30px solid transparent;
border-right:30px solid gray;
vertical-align: top;
}
<div id="portfolio">
<a href="index.html"><div class="back-arrow-left" ></div></a>
<dropdown>
<input id="toggle2" type="checkbox">
<label for="toggle2" class="animate">Portfolio<i class="fa fa-list float-right"></i></label>
<ul class="animate">
<li class="animate">Websites</li>
<li class="animate">Computer Animations</li>
<li class="animate">C/C++ Programs</li>
</ul>
</dropdown>
</div>
I've updated your JSFiddle
我是一名优秀的程序员,十分优秀!