どうも7noteです。左右などに模様がついたデザインを作る時のちょっとしたコツについて
今回は以下のようなデザインを作る方法です。
![sample_bg.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F661092%2Fc259472a-f6ab-5bd3-58f9-3fd839febdab.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=f553bf23d74d903dd20dcda4c7459614)
文字の右上と左上に模様が入った場合のデザイン。
まず、1枚の背景画像として画像を設置した場合の書き方はこうなります。
index.html
<h2>ここに見出しが入ります</h2>
style.css
h2 {
width: 300px;
text-align: center;
background: url(sample_bg.png) no-repeat;
}
結果
![sample_bg.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F661092%2F556a3d6e-7d1e-ff22-68d6-58c0e0f581cc.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=46c39659f34805717b4b3a20562226ea)
上手に入れる事ができました。
ではもし横幅がもっと長くなればどうでしょうか。
![sample_bg2.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F661092%2Fb05063ec-65c3-3a88-cf64-4c8fbd63b679.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=38ee8190fecfeed65f51ad0e7e7b445e)
このように意図しないような広がり方になってしまい、模様が切れてしまいます。
画像の横幅に依存してしまっては表示が崩れてしまうのです。
横幅が可変でかわったとしても崩れないようにする方法
模様の画像を左右それぞれ分けて用意し、CSSを以下のように書き換えてください。
style.css
h2 {
width: 300px;
text-align: center;
background-image: url(sample_bg_left.png),url(sample_bg_right.png);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position: left top, right top;
}
結果
![sample_bg3.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F661092%2Fd0f54e5d-548a-05e5-3258-141d0f4c89ef.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=10da03fd7ab7e58dac5a0d61310dad8e)
![sample_bg.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F661092%2F8bb86df0-c59d-0506-939d-4cea9aefba23.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=9c6d43af47554a3d029efaac1279c8b1)
このように横幅が変化しても、模様自体は常に同じ大きさをキープすることができます。
まとめ
背景画像にはカンマ(,)で区切ることで複数画像を指定することができます。これを利用して常に同じ大きさの画像を左上・右上に配置することで横幅に依存することなく可変にも対応することができます。
ちょっとした工夫が他のWEBサイトとの差になるので、このような所にも丁寧さが現れるサイト作りを意識したいものですね。