如何使整行浮动 link 可点击?
How can I make floated link clickable for whole row?
CodePen 在这里:http://codepen.io/anon/pen/BKVMoY
ul {
width: 40%;
border: 1px solid black;
list-style: none;
padding: 0;
}
span:last-of-type {
float: right;
}
<ul>
<li>
<a href="#">
<span>New York</span>
<span>9</span>
</a>
</li>
<li>
<a href="#">
<span>New York</span>
<span>9</span>
</a>
</li>
<li>
<span>New York</span>
<span>9</span>
</li>
<li>
<span>New York</span>
<span>9</span>
</li>
</ul>
为什么浮动元素没有下划线?
如何让它在跨度之间 space 可点击?
我认为您只需将 display: block;
添加到定位标记即可使整行都可以点击。我不确定为什么浮动元素会删除下划线。
<ul class="whole-row-link">
<li>
<a href="#"></a>
<span>New York</span>
<span>9</span>
</li>
<li>
<a href="#"></a>
<span>New York</span>
<span>9</span>
</li>
</ul>
ul.whole-row-link li {
position: relative;
}
ul.whole-row-link li a {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0
}
我能够使 link 之间的 space 可点击,但如果没有下划线,它仍然看起来很奇怪。
我用flexbox实现了可点击的效果
`http://codepen.io/Ebeldev/pen/BKVMwP`
为什么浮动元素没有下划线?
16.3.1 Underlining, overlining, striking, and blinking: the 'text-decoration
' property
Note that text decorations are not propagated to floating and absolutely positioned descendants, nor to the contents of atomic inline-level descendants such as inline blocks and inline tables.
要解决此问题,您可以在浮动跨度上设置 text-decoration: inherit
。
span:last-of-type {
float: right;
text-decoration: inherit;
}
如何让它在跨度之间 space 可点击?
您可以将<a>
设置为display:block
,它将占据整个可用宽度。
a {
display: block;
}
ul {
width: 40%;
border: 1px solid black;
list-style: none;
padding: 0;
}
a {
display: block;
}
span:last-of-type {
float: right;
text-decoration: inherit;
}
<ul>
<li>
<a href="#">
<span>New York</span>
<span>9</span>
</a>
</li>
<li>
<a href="#">
<span>New York</span>
<span>9</span>
</a>
</li>
<li>
<span>New York</span>
<span>9</span>
</li>
<li>
<span>New York</span>
<span>9</span>
</li>
</ul>
CodePen 在这里:http://codepen.io/anon/pen/BKVMoY
ul {
width: 40%;
border: 1px solid black;
list-style: none;
padding: 0;
}
span:last-of-type {
float: right;
}
<ul>
<li>
<a href="#">
<span>New York</span>
<span>9</span>
</a>
</li>
<li>
<a href="#">
<span>New York</span>
<span>9</span>
</a>
</li>
<li>
<span>New York</span>
<span>9</span>
</li>
<li>
<span>New York</span>
<span>9</span>
</li>
</ul>
为什么浮动元素没有下划线?
如何让它在跨度之间 space 可点击?
我认为您只需将 display: block;
添加到定位标记即可使整行都可以点击。我不确定为什么浮动元素会删除下划线。
<ul class="whole-row-link">
<li>
<a href="#"></a>
<span>New York</span>
<span>9</span>
</li>
<li>
<a href="#"></a>
<span>New York</span>
<span>9</span>
</li>
</ul>
ul.whole-row-link li {
position: relative;
}
ul.whole-row-link li a {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0
}
我能够使 link 之间的 space 可点击,但如果没有下划线,它仍然看起来很奇怪。
我用flexbox实现了可点击的效果
`http://codepen.io/Ebeldev/pen/BKVMwP`
为什么浮动元素没有下划线?
16.3.1 Underlining, overlining, striking, and blinking: the 'text-decoration
' property
Note that text decorations are not propagated to floating and absolutely positioned descendants, nor to the contents of atomic inline-level descendants such as inline blocks and inline tables.
要解决此问题,您可以在浮动跨度上设置 text-decoration: inherit
。
span:last-of-type {
float: right;
text-decoration: inherit;
}
如何让它在跨度之间 space 可点击?
您可以将<a>
设置为display:block
,它将占据整个可用宽度。
a {
display: block;
}
ul {
width: 40%;
border: 1px solid black;
list-style: none;
padding: 0;
}
a {
display: block;
}
span:last-of-type {
float: right;
text-decoration: inherit;
}
<ul>
<li>
<a href="#">
<span>New York</span>
<span>9</span>
</a>
</li>
<li>
<a href="#">
<span>New York</span>
<span>9</span>
</a>
</li>
<li>
<span>New York</span>
<span>9</span>
</li>
<li>
<span>New York</span>
<span>9</span>
</li>
</ul>