
下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されないのですが、(付属画像参考)このボタンの中にある画像をボタンにいっぱいに表示させたいです。
回答よろしくお願いいたします。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="o.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3 … integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://rensyuu12.tokyo/PHPMailer/jquery-3.6.0.m …
<title>k</title>
</head>
<style>
</style>
<body>
<button id="top_btn">トップに戻る</button>
<h1>トップ</h1>
<br><hr><hr><br><hr><hr><br><hr><hr><br><hr><hr><br><hr><hr><br><hr><hr><br><hr><hr><br><hr><hr><br><hr><hr><br><hr><hr><br>
</body>
<script>
$(function(){
$("#top_btn").on("click", function(){
$("html, body").animate({scrollTop: 0 }, 1000, "swing");
});
});
</script>
</html>
cssのコード以下
#top_btn
{
position: fixed;
bottom: 10px;
right: 10px;
background: url(https://rensyuu12.tokyo/PHPMailer/abcde.png);
background-repeat: no-repeat; /* 画像の繰り返しを指定 */
background-size:contain; /* 画像のサイズを指定 */
width:30%; /* 横幅のサイズを指定 */
height:30%;
padding-top: 6px;
padding-right: 3px;
padding-bottom: 6px;
padding-left: 3px
}

No.1ベストアンサー
- 回答日時:
こんばんは
ご提示のソースで使用している画像サイズは 492 × 469 px のようです。
一方で、ボタンのサイズはブラウザ画面サイズに依存するように指定されているので、当然ながら同じサイズ(=縦横比)になるはずはありません。
>このボタンの中にある画像をボタンにいっぱいに表示させたいです。
最終的にどのようになさりたいのか記載がないので、わかりませんけれど・・・
◇ボタンのサイズに画像を合わせたいのなら、
①background-size: cover;にしておけば長い方のサイズにフィットするようになるので余白はなくなります。
ボタンのプロポーションによっては、画像が見切れるので、中央合わせにしておくなどが必要かも知れません。
②background-size: 100% 100%;
などとしておけば、ボタンのサイズにフィットするように画僧の縦横比を調整できます。
ただし、画像のプロポーションは保たれません。
③あるいは、現状の contain;のままで、位置を中央合わせにしておき、余白が出る部分にはbackground-colorで画像の外側と同じ色(=グレイ)を設定しておく方法も考えられます。
(背景色が余白部分を埋めるので、画像の境界線は出なくなります)
◇画像のプロポーションを維持して、ボタンのサイズを合わせても良いのなら、
④ボタンのサイズ指定を
width: min(30vw, 30vh);
height: min(28.6vw, 28.6vh);
などとしておくとか。
(ほぼ画像のプロポーションと同じサイズになります)
ありがとうございます。やりたかった動作は
background-size:cover; の方でした。ありがとうございます。上記の情報で解決できました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像とその下にあるテキストの...
-
CSSサイトの印刷時のレイアウト...
-
jQueryでCSSの背景画像を切り替...
-
<hr>の縦バージョンはありますか?
-
画像の上にテキスト配置で、拡...
-
帯を画面いっぱいに表示したい
-
htmlメルマガで幅を固定するには?
-
インラインフレームが画面サイ...
-
background-sizeでcontainする...
-
submitボタンの上に重ねた画像...
-
WEB上でディレクトリ内の画像を...
-
【Webサイト】画像が小さく表示...
-
IMGタグで画像の繰り返し使用は…
-
PDFの保存ボタンが表示されません
-
イラストレータに配置すると透...
-
背景を透過加工したPNG画像を色...
-
[twip]から[pixel]への変換
-
たくさんのjpgファイルをスクロ...
-
クリックしても、リンクに飛ば...
-
photoshopで作った画像をillust...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画像とその下にあるテキストの...
-
<hr>の縦バージョンはありますか?
-
【至急お助け!】チェックボッ...
-
【Webサイト】画像が小さく表示...
-
background-sizeでcontainする...
-
iframe内をクリックさせない方...
-
画像の上にテキスト配置で、拡...
-
同じ画像 複数回使用
-
background-repeat CSS で切れ...
-
ページごとに背景画像を変更し...
-
IMGタグで画像の繰り返し使用は…
-
ホームページの背景について・・
-
要素の幅をいろんな写真の幅に...
-
画像上に文字を表示するとiPhon...
-
コーディング中、右側に謎の余...
-
cssで画像と文字を同じ位置にす...
-
HP作成 作成した画像を動画の上...
-
lightbox2で画像を天地左右中央...
-
ネットスケープでのスタイルシ...
-
CSSでスクロールバー
おすすめ情報