iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0

Stretched link (延伸連結)

使用 Stretched link類別可以使連結可按範圍延伸到設有position:relative;的外層容器,寫法是在連結上添加.stretched-link類別。
原理是在.stretched-link::after僞元素中使用position:absolute;達成連結延伸的。
例如我們可以在卡片中使用,因為.card本身就有position:relative;所以我們可以直接在裡面的連結加.stretched-link
範例程式碼:

<div class="card" style="width: 18rem;">
  <img src="..." class="card-img-top" alt="...">
  <div class="card-body">
    <h5 class="card-title">帶有延伸連結的卡片</h5>
    <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    <a href="#" class="btn btn-primary stretched-link">Go somewhere</a>
  </div>
</div>

CodePen可以看有加.stretched-link與沒加的差別。

如果是大部分自訂義的元件可能不帶有position:relative;屬性,這時就要自己在容器上加入了,避免連結延伸到父容器以外的地方。
P.S. 如果你要使延伸範圍比較小,則可以把position:relative;設在較內層。
例如這樣寫:

<div class="d-flex position-relative">
  <img src="..." class="flex-shrink-0 me-3" alt="...">
  <div>
    <h5 class="mt-0">有延伸連結的自定義元件</h5>
    <p>This is some placeholder content for the custom component. It is intended to mimic what some real-world content would look like, and we're using it here to give the component a bit of body and size.</p>
    <a href="#" class="stretched-link">Go somewhere</a>
  </div>
</div>

.stretched-link運作失敗的原因

有下列幾個常見原因會使.stretched-link運作倒不是自己想要的效果:

  • 有static 以外的 position 值。
  • 外層有設 none 以外的 transform 或 perspective 值 (例如你在<p>標籤設 transform,則stretched-link效果只能到<p>標籤)。

text-truncate (文字截斷)

如果想要限制文字超過某長度就會有刪節號截斷文字的話可以使用.text-truncate 達到這樣的效果。
此物件需要是display: inline-block 或是 display: block
P.S.使用.text-truncate 會變成單行的效果。
範例程式碼:

<!-- Block level -->
<div class="row">
  <div class="col-2 text-truncate">
    Praeterea iter est quasdam res quas ex communi.
  </div>
</div>

<!-- Inline level -->
<span class="d-inline-block text-truncate" style="max-width: 150px;">
  Praeterea iter est quasdam res quas ex communi.
</span>

效果:
https://ithelp.ithome.com.tw/upload/images/20230923/20135414W51nnBtQsT.png

通常.text-truncate 適合用在標題上,如果你想要限制內容行數的話可以使用另一個方式,先設定高度,假如行高是1.5rem,想限制為3行,則可以設height:4.5rem;,再來設定overflow:hidden即可,這個方法不會有刪節號。


上一篇
Bootstrap 的helpers (一)| Clearfix, Color and background, Position, Ratios
下一篇
網頁親和性與Bootstrap 表單overview
系列文
前端超實用框架: Bootstrap 入門到實戰教學 31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言