1. ホーム
  2. html

[解決済み] ボーダーの長さがdivの幅より小さい?

2022-05-25 05:46:24

質問

次のようなコードがあります。

div {
   width:200px;
   border-bottom:1px solid magenta;
   height:50px;   
}

デモ

divの幅が200pxなのでborder-bottomも200pxですが、divの幅を変えずにborder-bottomを100pxだけにしたい場合はどうしたらよいでしょうか?

どうすればいいのでしょうか?

擬似要素を使用することができます。例

div {
  width   : 200px;
  height  : 50px;   
  position: relative;
  z-index : 1;
  background: #eee;
}

div:before {
  content : "";
  position: absolute;
  left    : 0;
  bottom  : 0;
  height  : 1px;
  width   : 50%;  /* or 100px */
  border-bottom:1px solid magenta;
}
<div>Item 1</div>
<div>Item 2</div>

IE8から:afterにも対応しましたので、体裁上余計なマークアップは不要です。

を編集します。

右寄せのボーダーが必要な場合、単に left: 0right: 0

中央揃えのボーダーが必要な場合は、単純に left: 50px;