当我点击图标而不是整行时我想收到警报但出于某种原因我在整行上得到它。我做错了什么?
<div class="footer">
<span id="scroll-top">
<i class="fa fa-round fa-chevron-up"></i>
</span>
</div>
.footer {
background-color: black;
color: white;
padding-top: 40px;
}
.footer .fa-round {
padding: 0;
border-radius: 50%;
color: white;
background-color: red;
font-size: 1.3em;
line-height: 1.6em;
height: 34px;
width: 34px;
}
.footer #scroll-top {
display: block;
cursor: pointer;
z-index: 99999999;
text-align: center;
position: relative;
top: -50px;
}
答案 0 :(得分:3)
您将span元素显示为块,因此它覆盖容器宽度。你可以把它拿出来并将所有子元素放在文本中对齐.footer中的所有子元素
$("#scroll-top").click(function() {
alert('test');
});
&#13;
.footer {
background-color: black;
color: white;
padding-top: 40px;
}
.footer .fa-round {
padding: 0;
border-radius: 50%;
color: white;
background-color: red;
font-size: 1.3em;
line-height: 1.6em;
height: 34px;
width: 34px;
}
.footer #scroll-top {
cursor: pointer;
z-index: 99999999;
text-align: center;
position: relative;
top: -50px;
display: inline-block;
position: relative;
left: 50%;
-moz-transform: translate(-50%, 0%);
-webkit-transform: translate(-50%, 0%);
-ms-transform: translate(-50%, 0%);
-o-transform: translate(-50%, 0%);
transform: translate(-50%, 0%);
}
&#13;
<link href="http://netdna.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="footer">
<span id="scroll-top">
<i class="fa fa-round fa-chevron-up"></i>
</span>
</div>
&#13;
答案 1 :(得分:1)
您可以更加具体地定位您要定位的元素,目前您定位ID为#scroll-top
的元素,但您可以更具体,并定位#scroll-top i
中的图标元素
$("#scroll-top i").click(function() {
alert('test');
});
.footer {
background-color: black;
color: white;
padding-top: 40px;
}
.footer .fa-round {
padding: 0;
border-radius: 50%;
color: white;
background-color: red;
font-size: 1.3em;
line-height: 1.6em;
height: 34px;
width: 34px;
}
.footer #scroll-top {
display: block;
cursor: pointer;
z-index: 99999999;
text-align: center;
position: relative;
top: -50px;
}
<link href="http://netdna.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="footer">
<span id="scroll-top">
<i class="fa fa-round fa-chevron-up"></i>
</span>
</div>
答案 2 :(得分:1)
范围设置为display: block
。这使得它占据整行。您可以更改jQuery更精确:
$("#scroll-top i").click(function() {
alert('test');
});
答案 3 :(得分:1)
您提供了<span id="scroll-top">
元素display: block
,这使得它占据了全宽。
因此,如果您将点击处理程序更改为$("i.fa-chevron-up").click(...)
,则可以使用
或者您可以将<span id="scroll-top">
更改为display: inline-block
并在text-align: center
上设置footer
或者,由于icon
具有固定宽度,因此<span id="scroll-top">
宽度相同width: 34px
,并使用margin: 0 auto
答案 4 :(得分:0)
将其更改为显示:inline-block。 http://jsfiddle.net/hgu02x0b/2/
.footer #scroll-top {
display: inline-block;
cursor: pointer;
z-index: 99999999;
text-align: center;
position: relative;
top: -50px;
left: 50%;
margin-left: -17px;
}
希望这有帮助