線の上を別の線が伸びる

ボタン
-線の上を別の線が伸びる-

デモページを見る

See the Pen 7-1-36 線の上を別の線が伸びる by 動くWebデザインアイディア帳 (@ugokuweb) on CodePen.

「Result」内のボタンにカーソルをあわせて動きを確かめてね!

動きを実現する仕組み

<a>タグにCSS の疑似要素で指定した2 本のborder を重ねて、上の線の横幅をhover をしたら伸ばす。

HTMLの書き方

  1. head終了タグ直前に自作のCSSを読み込みます。
    <link rel="stylesheet" type="text/css" href="css/7-1-36.css">
    </head>
  2. body内のボタンを表示させたい場所に以下のHTMLを記載します。
    <a href="#" class="btnlinestretches4"><span>7-1-36 線の上を別の線が伸びる</span></a>

自作のCSS内の書き方

/*== 線の上を別の線が伸びる */

.btnlinestretches4{
    /*線の基点とするためrelativeを指定*/
	position:relative;
    /*リンクの形状*/ 
	color:#333;
    padding: 10px 50px 10px 30px;
	display:inline-block;
    text-decoration: none;
    outline: none;
}

/*線の設定*/
.btnlinestretches4::before,
.btnlinestretches4::after{
	content:'';
    /*絶対配置で線の位置を決める*/
	position:absolute;
	z-index:1;
	bottom:0;
	left:0;
     /*線の形状*/   
	background:#333;
	width:100%;
	height:2px;
    /*アニメーションの指定*/
	transition:all 0.3s ease-in-out;
}

 /*hover時に伸びる線の形状*/   
.btnlinestretches4::after{
	width:0;
	background:#ccc;
}

 /*hover時に100%に伸びる*/   
.btnlinestretches4:hover::after {
	width:100%;
}

 /*矢印の設定*/   
.btnlinestretches4 span::after {
    content: '';
    /*絶対配置で矢印の位置を決める*/
    position: absolute;
    top: 1.3em;
    right: 20px;
    /*矢印の形状*/   
    width: 5px;
    height: 5px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: rotate(45deg);
    /*アニメーションの指定*/
    transition: all .3s;
}

/*hover時に矢印が移動*/   
.btnlinestretches4:hover span::after {
	right:15px;
}

この技術を使ったサンプルサイト

バリエーション
を見る

「機能」に関わる
動き一覧

書籍情報

紙面だからこそできるまとめ方でコードを説明し、
全体を俯瞰して調べることが出来る構成になっています。

もちろん、パーツのサンプルコードもzipでまとめてダウンロードできます。
購入をしてくださった方には特典がありますので是非チェックしてみてください!

書籍紙面サンプル

出版社:ソシム株式会社
2021/2/27 発売

書籍紙面サンプル

出版社:ソシム株式会社
2021/7/31 発売

Page
Top