CSS
 Computer >> コンピューター >  >> プログラミング >> CSS

CSSの背景位置:それは何であり、どのように機能しますか?

Web開発者は、作業している背景画像の開始位置を調整する必要がある場合に、CSSbackground-positionプロパティを使用します。この記事では、background-positionプロパティと、それを調整して画像の位置を変更する方法について説明します。

構文

CSSセレクター内のbackground-positionプロパティの構文は次のとおりです。

background-position: value

背景位置で値を宣言するには、いくつかの異なる方法があります。

  • 使用できるキーワードペアの値はいくつかあります。
    • 左上
    • 左中央
    • 左下
    • 右上
    • 右中央
    • 右下
    • センタートップ
    • センターセンター
    • 中央下

最初の単語は、水平軸またはx軸を表します。 2番目の単語は、垂直軸またはy軸を表します。宣言されている値が1つだけの場合、y値は自動的に「中央」に設定されます。

  • x%、y%:

最初のオプションと同様に、最大2つの値を指定できます。1つはx軸の水平位置、もう1つはy軸の垂直位置です。値が1つだけの場合、y%値は50%に設定され、画像がy軸の中央に配置されます。左上は0%0%、右上は100%0%、左下は100%0%、右下は100%100%です。

  • xpos、ypos(px / rem / em / pt):

前の2つのオプションにも似ていますが、数値はパーセントではなくCSS単位で示されます(ただし、必要に応じてパーセントとrem / em / px / ptを混在させることができます)。 2番目の値が指定されていない場合、yposは50%に設定されます。

最初のオプションを使用してさまざまな値を示すいくつかの例を次に示します。

左上:

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

<!DOCTYPE html>
<html>
 
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>Top Left</title>
  <style>
    body {
      background: url("https://images.unsplash.com/photo-1585820809560-b6d13cf9794a?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=3334&q=80");
      background-repeat: no-repeat;
      background-size: cover;
      background-attachment: fixed;
      background-position: top left;
      display: flex;
      flex-flow: row wrap;
    }
 
    div {
      height: 200px;
      width: 25%;
      background: transparent;
      border: 5px double ivory;
      margin: 20px;
    }
 
    #text-block {
      background: ivory;
      border: 5px double black;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2rem;
 
    }
  </style>
</head>
 
<body>
  <div>
 
  </div>
  <div>
  </div>
  <div>
 
  </div>
  <div>
 
  </div>
  <div id="text-block">
    top left
  </div>
  <div>
 
  </div>
  <div>
 
  </div>
  <div>
 
  </div>
  <div>
 
  </div>
  <script src="script.js">
 
  </script>
</body>
 
</html>

中道右派:

<!DOCTYPE html>
<html>
 
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>Center Right</title>
  <style>
    body {
      background: url("https://images.unsplash.com/photo-1585820809560-b6d13cf9794a?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=3334&q=80");
      background-repeat: no-repeat;
      background-size: cover;
      background-attachment: fixed;
      background-position: center right;
      display: flex;
      flex-flow: row wrap;
    }
 
    div {
      height: 200px;
      width: 25%;
      background: transparent;
      border: 5px double ivory;
      margin: 20px;
    }
 
    #text-block {
      background: ivory;
      border: 5px double black;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2rem;
 
    }
  </style>
</head>
 
<body>
  <div>
 
  </div>
  <div>
  </div>
  <div>
 
  </div>
  <div>
 
  </div>
  <div id="text-block">
    center right
  </div>
  <div>
 
  </div>
  <div>
 
  </div>
  <div>
 
  </div>
  <div>
 
  </div>
  <script src="script.js">
 
  </script>
</body>
 
</html>

左下:

<!DOCTYPE html>
<html>
 
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>Bottom Left</title>
  <style>
    body {
      background: url("https://images.unsplash.com/photo-1585820809560-b6d13cf9794a?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=3334&q=80");
      background-repeat: no-repeat;
      background-size: cover;
      background-attachment: fixed;
      background-position: bottom left;
      display: flex;
      flex-flow: row wrap;
    }
 
    div {
      height: 200px;
      width: 25%;
      background: transparent;
      border: 5px double ivory;
      margin: 20px;
    }
 
    #text-block {
      background: ivory;
      border: 5px double black;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2rem;
 
    }
  </style>
</head>
 
<body>
  <div>
 
  </div>
  <div>
  </div>
  <div>
 
  </div>
  <div>
 
  </div>
  <div id="text-block">
    bottom left
  </div>
  <div>
 
  </div>
  <div>
 
  </div>
  <div>
 
  </div>
  <div>
 
  </div>
  <script src="script.js">
 
  </script>
</body>
 
</html>

結論

上記のコードエディタで、CSSでbackground-positionプロパティを使用する方法を理解できれば幸いです。いろいろ試してみてください–ここで使用されている背景画像を変更し、位置を変更してください–何ができるかを確認するだけです!


  1. CSSを使用してユーザー評価スコアカードを作成するにはどうすればよいですか?

    CSSを使用して「ユーザー評価」スコアカードを作成するには、コードは次のとおりです- 例 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/f

  2. CSSFlexを使用して列DIVを左-中央-右に揃える方法

    フレックスコンテナのアイテムをその主軸に沿って配置し、その周りにスペースを分散させるには、CSSのjustify-contentプロパティを使用します。 構文 CSSjustify-contentプロパティの構文は次のとおりです- Selector {    display: flex;    justify-content: /*value*/ } 例 次の例は、CSSのjustify-contentプロパティを示しています。 <!DOCTYPE html> <html>    <head>