Button

ボタンデザインで使用するCSS

詳しい導入事例は導入方法を参照してください。

  • サイズ
  • 塗り
  • 横幅

Class Copy

  • CSS
.btn {
    width: fit-content;
    min-width: 64px;
    border-radius: 100px;
    color: var(--link-color);
    display: block;
    cursor: pointer;
    transition: 0.2s;
  }
  .btn.min {padding: 4px 12px; font-size: 0.8rem;}
  .btn.xs {padding: 8px 16px; font-size: 0.9rem;}
  .btn.xm {padding: 10px 24px;}
  .btn.xl {padding: 12px 32px; font-size: 1.1rem;}
  .btn.full {width: 100%; display: block;}
  .btn.box {border-radius: var(--radius-xs);}
  .btn.ico-mui {
    min-width: 0;
    padding: 8px;
    font-size: 1rem;
  }
  .btn.ico-mui.xs {
    width: 32px;
    height: 32px;
  }
  .btn.ico-mui.xm {
    width: 40px;
    height: 40px;
  }
  .btn.ico-mui.xl {
    width: 48px;
    height: 48px;
  }
  .btn.ico-mui.xs {font-size: var(--typo-bd);}
  .btn.ico-mui.xm {font-size: var(--typo-h4);}
  .btn.ico-mui.xl {font-size: var(--typo-h1);}
    
  .btn.ico-mui,
  .btn.ico-bef,
  .btn.ico-aft {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2px;
  }
  .btn.ico-mui::before ,
  .btn.ico-bef::before ,
  .btn.ico-aft::after {
    width: 24px;
    height: 24px;
    line-height: 24px;
  }
  .btn.ico-bef::before {margin-left: -4px;}
  .btn.ico-aft::after {margin-right: -4px;}
  
  .btn.outline {border: 1px solid var(--link-color);}
  .btn.fill {
    background: var(--link-color);
    color: #fff;
  }
  .btn:hover {background: #E3F2FD;}
  .btn.outline:hover {
    background: var(--link-color);
    color: #fff;
  }
  .btn.fill:hover {
    background: var(--link-color);
    filter: grayscale(30%);
  }
  .btn.dsbl {
    color: var(--txt-disabled);
    pointer-events: none;
  }
  .btn.dsbl.outline {border-color: var(--txt-disabled);}
  .btn.dsbl.fill {background-color: var(--bg-disabled);}

Disable

  • DEMO

Box

  • DEMO

Icon

  • アイコンのみ
  • 左設置
  • 右設置

使い方

[data-ico]にマテリアルアイコンのコードを指定することで任意のアイコンを表示します。

アイコンの形によって左右の隙間が違うのでセンタリングの完全対応が難しく、形によっては目の錯覚でセンタリングされてないように見える場合があります。さらにFirefoxではアイコンがズレて表示されるっぽい。
気になる場合は個別対応してください。