1

Bootstrap を使用しており、navbar の下にカルーセルがあります。

通常のコンピューターで問題なく動作します。このリンクを確認してください。

ただし、iPhone などの小さな画面では問題が発生します。ブラウザ画面のサイズを変更して、私が何を意味するかを確認してください。

レスポンシブ CSS は必要ないのかもしれませんが、私が間違っていることが他にあるのではないかと考えています。おそらく、すべての画面でサイズ変更されたカルーセル画像を取得するためのより良い方法です。

また、カルーセルが画面の 100% の高さになるようにしたいので、カルーセルは画面全体に広がり、残りのコンテンツはスクロールしたときにのみ表示されます。

私が使用しているCSS:

      /* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */

/* Carousel base class */
.carousel {
  margin-top: -80px;
  position: fixed;
  width: 100%;
}

.carousel .container {
  position:relative;
  z-index: 9;
}    

.carousel-control {
  height: 80px;
  margin-top: 0;
  font-size: 120px;
  text-shadow: 0 1px 1px rgba(0,0,0,.4);
  background-color: transparent;
  border: 0;
  z-index: 10;
}

.carousel .item {
  min-height: 800px;
}

.carousel img {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  height: auto;
  margin-top: -200px;
}

.carousel-caption {
  background-color: transparent;
  position: static;
  max-width: 550px;
  padding: 0 20px;
  margin-top: 200px;
}

.carousel-caption2 {
  background-color: transparent;
  position: static;
  max-width: 380px;
  padding: 200px 20px;
}

.carousel-caption h1,
.carousel-caption .lead,
.carousel-caption2 h1,
.carousel-caption2 .lead {
  margin: 0;
  line-height: 1.25;
  color: #fff;
  text-shadow: 0 1px 1px rgba(0,0,0,.4);
}
.carousel-caption .btn,
.carousel-caption2 .btn {
  margin-top: 10px;
}

#wrapper-container {
margin-bottom: -80px;
padding-bottom: 80px;
position: relative;
background: inherit;
top: 60%;
}

/* Featurettes
------------------------- */

.featurette-divider {
  margin: 80px 0; /* Space out the Bootstrap <hr> more */
}
.featurette {
  padding-top: 120px; /* Vertically center images part 1: add padding above and below text. */
  overflow: hidden; /* Vertically center images part 2: clear their floats. */
}
.featurette-image {
  margin-top: -120px; /* Vertically center images part 3: negative margin up the image the same amount of the padding to center it. */
}

/* Give some space on the sides of the floated elements so text doesn't run right into it. */
.featurette-image.pull-left {
  margin-right: 40px;
}
.featurette-image.pull-right {
  margin-left: 40px;
}

/* Thin out the marketing headings */
.featurette-heading {
  font-size: 50px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -1px;
}



/* RESPONSIVE CSS
-------------------------------------------------- */

@media (max-width: 979px) {

  .container.navbar-wrapper {
    margin-bottom: 0;
    width: auto;
  }
  .navbar-inner {
    border-radius: 0;
  }

  .carousel .item {
    min-height: 500px;
  }

  .carousel img {
    min-width: 100%;
    height: auto;
  }

  .featurette {
    height: auto;
    padding: 0;
  }
  .featurette-image.pull-left,
  .featurette-image.pull-right {
    display: block;
    float: none;
    max-width: 40%;
    margin: 0 auto 20px;
  }
}

 @media (max-width: 767px) {

  .navbar-inner {
    margin: -20px;
  }

  .carousel {
    margin-left: -20px;
    margin-right: -20px;
  }
  .carousel .container {

  }
  .carousel .item {
    height: 300px;
  }
  .carousel img {
    height: 300px;
  }
  .carousel-caption {
    width: 65%;
    padding: 0 70px;
    margin-top: 100px;
  }
  .carousel-caption h1 {
    font-size: 30px;
  }
  .carousel-caption .lead,
  .carousel-caption .btn {
    font-size: 18px;
  }

  .marketing .span4 + .span4 {
    margin-top: 40px;
  }

  .featurette-heading {
    font-size: 30px;
  }
  .featurette .lead {
    font-size: 18px;
    line-height: 1.5;
  }

}
4

2 に答える 2

2

それをきれいにするためにあなたがしなければならないことはたくさんあります...以下はあなたを始めるためのものですが、間違いなくもう少し微調整を行う必要があります.

あなたの最後の要求に従って、画面を画像で埋めるための CSS を見ていませんでした。縦横比が必要な場合は、他のトリミングされた画像に別のカルーセルを追加することを検討する必要があると思います。そのため、必要な画像の特定の部分を表示します。

まず、以下@media (max-width: 767px)を削除します。

  .navbar-inner {
    margin: -20px;
  }

上部のメニュー バーが上に移動して見えなくなります。

から@media... .carousel、以下を削除します。

 margin-left: -20px;
 margin-right: -20px;

これは厄介で、body にパディングが追加されているためです (以下を参照)。

に次を追加します@media (max-width... .carousel

 position: relative;
 margin-top: 0px;

カルーセルをナビゲーションバーの下にきちんと配置したいからです。

から以下を削除します@media... body

 padding-right: 20px;
 padding-left: 20px;

これはカルーセルに問題を引き起こしています。必要に応じて、特定の div にこのパディングを追加できwrapper-containerます。

から.carousel img、以下を削除します。

 margin-top: -200px;

次に、カルーセルの下のテキストがかなり下に移動するという事実を修正する必要があります。

に以下を追加@media... #wrapper-container

 top: 0;

から以下を削除します@media (max-width: 979px)

.carousel .item {
    min-height: 500px;
}

そして以下から@media (max-width: 767px)

.carousel img {
    height: 300px;
}

スマートフォンのサイズでは、カルーセルはその高さに遠く及ばないためです。

また、@media CSS でキャプション テキストの配置をいじる必要があります。カルーセルが縮小するにつれて、一部のキャプション テキストを失うことを決定することができます。

これで開始でき、そこから進むことができます...

于 2013-02-13T00:10:12.867 に答える
0

手始めに、margin-top: -200px; を取り除きます。あなたの .corousel img スタイルに。小さな画面では、画像の高さが 200px 未満であり、これにより画面からはみ出してしまいます。

于 2013-02-12T21:27:41.570 に答える