2017-03-22 7 views
0

私はブートストラップにjumbotronコンテナを使用していて、イメージをバックグラウンドとして使用しようとしています。しかし、画面サイズが変わるとすべての画像が歪むか、写真の正しい部分が表示されないようです。イメージを保存するように設定する必要がある正しいサイズがありますか?または、画面のリサイズの歪みを除去/最小化する方法ですか?必要に応じて私のコードを表示することができます。Jumbotronの正しいイメージサイズ

ありがとうございます!

CSS:

*{ 
    margin: 0; 
    padding: 0; 
} 

.navbar-default{ 
    background-color: rgb(66, 134, 244); 
} 
.under { 
    border-bottom: 15px solid rgb(66, 134, 244); 
} 
.size { 
    width: 300px; 
} 
.jumbotron{ 
    height: 400px; 
    background: url("../images/parakeet.jpg"); 
    background-size: cover; 
} 

HTML 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <title>Bootstrap Case</title> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
    <link href="css/custom.css" rel="stylesheet"> 
</head> 
<body> 

<nav class="navbar navbar-default navbar-fixed-top"> 
    <div class="container-fluid"> 
    <div class="navbar-header"> 

<!-- Button nav for small screens --> 

    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar"> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span>       
     </button> 
<!-- Brand name --> 

     <a class="navbar-brand" href="#">WebSiteName</a> 
    </div> 

<!-- Makes nav not expand on resize --> 

    <div class="collapse navbar-collapse" id="myNavbar"> 

<!-- Menu --> 
    <ul class="nav navbar-nav"> 
     <li class="active"><a href="#">Home</a></li> 

<!-- Dropdown menu --> 
     <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1 <span class="caret"></span></a> 
     <ul class="dropdown-menu"> 
      <li><a href="#">Page 1-1</a></li> 
      <li><a href="#">Page 1-2</a></li> 
      <li><a href="#">Page 1-3</a></li> 
     </ul> 
     </li> 
<!-- Non dropdown --> 
     <li><a href="#">Page 2</a></li> 
     <li><a href="#">Page 3</a></li> 
    </ul> 
    </div> 
    </div> 
</nav> 
     <div class="jumbotron text-center under"> 
    <h1>Website Heading</h1> 
     <p>Information about the website!</p> 
    </div> 
    <div class="container"> 
     <div class="row"> 
      <div class="col-sm-4 text-center"> 
       <h2>Text</h2> 
       <p>More text describing the heading!</p> 
       <span class="glyphicon glyphicon-leaf size"></span> 

      </div> 
        <div class="col-sm-4 text-center"> 
       <h2>Text</h2> 
       <p>More text describing the heading!</p> 
       <span class="glyphicon glyphicon-hourglass btn-lg"></span> 

      </div> 

      <div class="col-sm-4 text-center"> 
       <h2>Text</h2> 
       <p>More text describing the heading!</p> 
       <span class="glyphicon glyphicon-plus btn-lg"></span> 
      </div> 

     </div> 

    </div> 
</body> 
</html> 
+4

_ "必要であれば、私はあなたに私のコードを表示することができます。" _してくださいはい – j08691

+0

はあなたがしようとしているものをご提示ください。 –

+0

これは通常、 'background:coverを画像に使う' だからです。しかし、背景部分を表示する部分を微調整することができます^ _ ^。 – Nicholas

答えて

1

。今すぐこのコードを実行する場合background-position と遊ぶ必要があります。あなたはかわいい犬でイメージを見るでしょう。小さなデバイスでは3つのミドル犬が見えます。どうして? background-positionがxで50%、yで50%に設定されているため(画像の中央)

ここでは、黒い頭でもっとも正しい子犬を見せたいとしましょう。それは簡単です。background-positionを100%と50%に設定するだけです。解像度<タブレットの解像度を持つ

*{ 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 

 
.navbar-default{ 
 
    background-color: rgb(66, 134, 244); 
 
} 
 
.under { 
 
    border-bottom: 15px solid rgb(66, 134, 244); 
 
} 
 
.size { 
 
    width: 300px; 
 
} 
 
.jumbotron{ 
 
    height: 400px; 
 
    background: url("https://puppydogweb.com/wp-content/uploads/2015/05/54_2383_Cute-Puppies-puppies-16094619-1280-800.jpg"); 
 
    background-size: cover; 
 
    background-position: 0 50%; 
 
}
<body> 
 

 
<nav class="navbar navbar-default navbar-fixed-top"> 
 
    <div class="container-fluid"> 
 
    <div class="navbar-header"> 
 

 
<!-- Button nav for small screens --> 
 

 
    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar"> 
 
     <span class="icon-bar"></span> 
 
     <span class="icon-bar"></span> 
 
     <span class="icon-bar"></span>       
 
     </button> 
 
<!-- Brand name --> 
 

 
     <a class="navbar-brand" href="#">WebSiteName</a> 
 
    </div> 
 

 
<!-- Makes nav not expand on resize --> 
 

 
    <div class="collapse navbar-collapse" id="myNavbar"> 
 

 
<!-- Menu --> 
 
    <ul class="nav navbar-nav"> 
 
     <li class="active"><a href="#">Home</a></li> 
 

 
<!-- Dropdown menu --> 
 
     <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1 <span class="caret"></span></a> 
 
     <ul class="dropdown-menu"> 
 
      <li><a href="#">Page 1-1</a></li> 
 
      <li><a href="#">Page 1-2</a></li> 
 
      <li><a href="#">Page 1-3</a></li> 
 
     </ul> 
 
     </li> 
 
<!-- Non dropdown --> 
 
     <li><a href="#">Page 2</a></li> 
 
     <li><a href="#">Page 3</a></li> 
 
    </ul> 
 
    </div> 
 
    </div> 
 
</nav> 
 
     <div class="jumbotron text-center under"> 
 
    <h1>Website Heading</h1> 
 
     <p>Information about the website!</p> 
 
    </div> 
 
    <div class="container"> 
 
     <div class="row"> 
 
      <div class="col-sm-4 text-center"> 
 
       <h2>Text</h2> 
 
       <p>More text describing the heading!</p> 
 
       <span class="glyphicon glyphicon-leaf size"></span> 
 

 
      </div> 
 
        <div class="col-sm-4 text-center"> 
 
       <h2>Text</h2> 
 
       <p>More text describing the heading!</p> 
 
       <span class="glyphicon glyphicon-hourglass btn-lg"></span> 
 

 
      </div> 
 

 
      <div class="col-sm-4 text-center"> 
 
       <h2>Text</h2> 
 
       <p>More text describing the heading!</p> 
 
       <span class="glyphicon glyphicon-plus btn-lg"></span> 
 
      </div> 
 

 
     </div> 
 

 
    </div> 
 
</body>

だから、すべてが黒頭の子犬が表示されます。

@media (max-width: 768px) { 
    .jumbotron{ 
    background-position: 100% 50%; 
    } 
} 
+0

ありがとうございました!異なる画面サイズに異なる背景位置を設定する必要がありますか? – natem1270

+0

あなたが表示したいものでない場合のみ。 – Nicholas

+0

あなたはこれをどうやって行うのか、私に例を教えてください。あなたの答えを正しいとマークしました – natem1270

-1

コードを待っている間は、あなたがイメージタグに対応したクラスを追加しましたか?まったく問題あり

<img src="picture.jpg" class="img-responsive">

+0

イメージはジャンボトロンのバックグラウンドです。このクラスではレスポンシブクラスではあまり役に立ちません – happymacarts

1

あなたはジャンボトロンスケールを持っているし、常にフル背景画像を表示し、ジャンボトロン0の高さを作り、その後の割合を使用するには.jumbotron

background-repeat:no-repeat; 
background-size:contain; 
background-position:center; 
0

に次のルールを追加する必要があります画像のアスペクト比と一致するパディングを使用して、ジャンボトロンで同じ量のパディングを作成します。

画像は1920x1080です。パーセンテージとして表され、1080/1920 = 56.25%。上部または下部のパディングとして適用すると、ジャンボトロンがそのアスペクト比に一致します。次に、あなたはどこでも、ジャンボトロンの中にテキストを配置することができます。私は.jumbotron-textという要素を導入しました。

* { 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 

 
.navbar-default { 
 
    background-color: rgb(66, 134, 244); 
 
} 
 

 
.under { 
 
    border-bottom: 15px solid rgb(66, 134, 244); 
 
} 
 

 
.size { 
 
    width: 300px; 
 
} 
 

 
.jumbotron-text { 
 
    position: absolute; 
 
    top: 2em; 
 
    left: 0; 
 
    right: 0; 
 
} 
 

 
.jumbotron { 
 
    height: 0; 
 
    position: relative; 
 
    padding: 56.25% 0 0 !important; 
 
    background: url('http://i.imgur.com/OXMygdn.jpg') 0 0 no-repeat; 
 
    background-size: cover; 
 
}
<!DOCTYPE html> 
 
<html lang="en"> 
 

 
<head> 
 
    <title>Bootstrap Case</title> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
    <link href="css/custom.css" rel="stylesheet"> 
 
</head> 
 

 
<body> 
 

 
    <nav class="navbar navbar-default navbar-fixed-top"> 
 
    <div class="container-fluid"> 
 
     <div class="navbar-header"> 
 

 
     <!-- Button nav for small screens --> 
 

 
     <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar"> 
 
     <span class="icon-bar"></span> 
 
     <span class="icon-bar"></span> 
 
     <span class="icon-bar"></span>       
 
     </button> 
 
     <!-- Brand name --> 
 

 
     <a class="navbar-brand" href="#">WebSiteName</a> 
 
     </div> 
 

 
     <!-- Makes nav not expand on resize --> 
 

 
     <div class="collapse navbar-collapse" id="myNavbar"> 
 

 
     <!-- Menu --> 
 
     <ul class="nav navbar-nav"> 
 
      <li class="active"><a href="#">Home</a></li> 
 

 
      <!-- Dropdown menu --> 
 
      <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1 <span class="caret"></span></a> 
 
      <ul class="dropdown-menu"> 
 
       <li><a href="#">Page 1-1</a></li> 
 
       <li><a href="#">Page 1-2</a></li> 
 
       <li><a href="#">Page 1-3</a></li> 
 
      </ul> 
 
      </li> 
 
      <!-- Non dropdown --> 
 
      <li><a href="#">Page 2</a></li> 
 
      <li><a href="#">Page 3</a></li> 
 
     </ul> 
 
     </div> 
 
    </div> 
 
    </nav> 
 
    <div class="jumbotron text-center under"> 
 
    <div class="jumbotron-text"> 
 
     <h1>Website Heading</h1> 
 
     <p>Information about the website!</p> 
 
    </div> 
 
    </div> 
 
    <div class="container"> 
 
    <div class="row"> 
 
     <div class="col-sm-4 text-center"> 
 
     <h2>Text</h2> 
 
     <p>More text describing the heading!</p> 
 
     <span class="glyphicon glyphicon-leaf size"></span> 
 

 
     </div> 
 
     <div class="col-sm-4 text-center"> 
 
     <h2>Text</h2> 
 
     <p>More text describing the heading!</p> 
 
     <span class="glyphicon glyphicon-hourglass btn-lg"></span> 
 

 
     </div> 
 

 
     <div class="col-sm-4 text-center"> 
 
     <h2>Text</h2> 
 
     <p>More text describing the heading!</p> 
 
     <span class="glyphicon glyphicon-plus btn-lg"></span> 
 
     </div> 
 

 
    </div> 
 

 
    </div> 
 
</body> 
 

 
</html>

関連する問題