Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8652

CSSのbackgroundプロパティで出来るいろいろなことまとめ

$
0
0

backgroundプロパティ

backgroundの主要なプロパティ一覧

プロパティ役割
background背景プロパティの一括指定
background-color背景色の指定
background-image背景画像の指定
background-position背景画像の位置の指定
background-size背景画像の大きさの指定
background-repeat背景画像の繰り返し表示の指定

background-colorのいろいろ

div.a{background-color:#f30;}div.b{background-color:#ff3300;}div.c{background-color:rgb(255,51,0);}div.d{background-color:rgba(255,51,0,0.8);}

#から始まる3桁または6桁の16進数のカラーコードやrgb()による10進数での背景色指定の他に、
rgba()によって透過度の指定が対応しています。

background-imageのいろいろ

グラデーションの指定

div{background-image:linear-gradient(rgba(255,51,0,0.8),rgba(255,255,0255,1));}

background-imageプロパティにlinear-gradientを使用すれば、線形グラデーションをかけることができます。

線形グラデーションに、放射・扇形グラデーションも使用できます。

radial-gradient() 放射グラデーション

div{background-image:radial-gradient(rgba(255,51,0,0.8),rgba(255,255,0255,1)); }

radial-gradient() 扇形グラデーション

div{background-image:conic-gradient(rgba(255,51,0,0.8),rgba(255,255,0255,1)); }

背景画像の複数指定

bg.css
div{background-image:url(hoge.png),url(fuga.png);background-position:topleft,rightbottom;background-repeat:no-repeat;}

background-imageの各プロパティで、「,」カンマを区切ると複数の画像を入れることができます。
また、background-positionやbackground-size,background-repeatも「,」カンマで区切るとbackground-imageで指定した画像に対してそれぞれプロパティを当てることが出来ます。同一の場合は「,」カンマを外すことで一括指定となります。

backgroundプロパティをいろいろ使って、複雑な背景を指定する

グラデーションに水玉模様

See the Pen gOONQma by k1-web (@k1-web) on CodePen.

背景グラデーションに合わせて白い水玉模様がついてるこの背景も全てCSSでやってます。

水玉模様のドットをradial-gradient(放射グラデーション)でつくる

1.円を作る
bg.css
.bg{background-image:radial-gradient(rgba(255,255,255,0.7)15%,transparent20%);}

数%ずらすことによって、画像のギザギザ感をなくし滑らかになります。
これだと中心に大きな楕円しか表示できていません。

2.サイズを調整
bg.css
.bg{background-image:radial-gradient(rgba(255,255,255,0.7)15%,transparent20%);background-size:30px30px;}

background-sizeを指定することによって、指定したサイズに応じた円が表示されます。
ただこのままだと余白感が開きすぎているのと、上下左右にしか繰り返していません。
ここにさらに、同じグラデーションを重ねます。

3.ドットを複数表示して重ねる。
bg.css
.bg{background-image:radial-gradient(rgba(255,255,255,0.7)15%,transparent20%),radial-gradient(rgba(255,255,255,0.7)15%,transparent20%);background-size:30px30px,30px30px;}

このままだと同じ位置に重なっているので、ずらします。

4.複数表示したのをずらす。
bg.css
.bg{background-image:radial-gradient(rgba(255,255,255,0.7)15%,transparent20%),radial-gradient(rgba(255,255,255,0.7)15%,transparent20%);background-size:30px30px,30px30px;background-position:00,15px15px;}

background-sizeの半分をずらすことによって、ななめにも繰り返し表示になります。

最後に、背景に線形グラデーションを付ける。

bg.css
.bg{background-image:radial-gradient(rgba(255,255,255,0.7)15%,transparent20%),radial-gradient(rgba(255,255,255,0.7)15%,transparent20%),linear-gradient(135deg,#e2ecff0%,#e2ecff40%,#bde7ff60%,#bde7ff100%);background-size:30px30px,30px30px,100%100%;background-position:00,15px15px,centercenter;}

背景はsizeを100%にすることによって全体表示に、グラデーションに水玉模様が重なった綺麗なはいけいになりました。

左右に違う色を使った吹き出し

See the Pen yLLdQRj by k1-web (@k1-web) on CodePen.

左から50%を境に色を切り分けるlinear-gradient線形グラデーションをかける

bg.scss
.bg{background-image:linear-gradient(90deg,#00a0e950%,#ff7e0050%);background-size:100%calc(100%-30px);background-repeat:no-repeat;}

before,afterの疑似要素を使用し、三角をつくる

bg.scss
.bg{background-image:linear-gradient(90deg,#00a0e950%,#ff7e0050%);background-image:linear-gradient(90deg,#00a0e950%,#ff7e0050%);background-size:100%calc(100%-30px);background-repeat:no-repeat;position:relative;&::before,&::after{content:'';display:inline-block;width:0;height:0;border:15pxsolidtransparent;position:absolute;bottom:0;}&::before{border-right-color:#00a0e9;border-top-color:#00a0e9;right:50%;}&::after{border-left-color:#ff7e00;border-top-color:#ff7e00;left:50%;}}

今後も備忘録的に更新していきます。


Viewing all articles
Browse latest Browse all 8652

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>