點燈坊

失くすものさえない今が強くなるチャンスよ

使 Button 取消顯示 Border

Sam Xiao's Avatar 2020-09-16

實務上有時會想 Button 的 Border 取消,可設定 Button 的 border-colorborder-style,雖然都會看不到 Border,但兩者底層還是有些差異。

Version

macOS Catalina 10.15.6
CSS 3

Button

none000

Button1Button2 雖然都沒有 border,但還是有些不太一樣。

<template>
  <button class="btn1">Button1</button>
  <button class="btn2">Button2</button>
</template>

<script>
export default {
  name: 'App',
}
</script>

<style scoped>
.btn1 {
  border-color: transparent;
}

.btn2 {
  border-style: none;
}
</style>

第 2 行

<button class="btn1">Button1</button>
<button class="btn2">Button2</button>

兩者都是 <button>,只是套用了不同 class。

13 行

.btn1 {
  border-color: transparent;
}

設定 border-colortransparent,因此還是有 border,只是為透明而已。

none001

可發現還是有 border,因此看起來 button 略大。

17 行

.btn2 {
  border-style: none;
}

設定 border-stylenone,也就是完全沒有 border。

none002

也因為完全沒有 border,因此 button 看起來略小。

Conclusion

  • 雖然都會看不到 border,但 border-color: transparent 是 border 仍存在,只是為透明看不見,因此 button 看起來略大
  • border-style: none 是完全沒有 border,因此 button 看起來略小

Reference

MDN, border-color
MDN, border-style