2017-09-26 4 views
1

私はまだ最初のウェブサイトプロジェクトの改善に取り組んでいます。何度も頭痛を引き起こしている1つの問題は、いくつかのセクションが上記のものにあふれていることです。私がオーバーフローと言うとき、括弧で囲まれた要素をクリックすると、ライブプレビューで強調表示されると、上のように他のコンテンツの周りに実際にマージンが表示されます。これは私のウェブサイトのさまざまなセクションで起こっていますが、私はそれを理解できません。私はここでは初心者ですので、理由とその方法をウェブサイト上で普遍的に修正する簡単な理由は確信しています。なし」プロパティを理想的に、私は繰り返し注意、オーバーフローなしプロパティーありえない、それを使用する必要がなく、これを解決したいと思います:セクションが繰り返しオーバーフローする

Overflow issue in this image

一部セクションのために私は「オーバーフローでこれを克服することができます。特に1は私がの画像を示している。すべてのセクションのために働くことは誰もがここにいくつかの明確さをしてくださいお願いします

html { 
 
    box-sizing: border-box; 
 
} 
 

 
* { 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 

 
body { 
 
    background-color: #f6f8fa; 
 
    color: #4E6E9B; 
 
    font-family: 'Signika', sans-serif; 
 
    font-weight: 'E'; 
 
} 
 

 
/* END GENERAL STYLES -----------*/ 
 

 
.one-third-container { 
 
    float: left; 
 
    width: 100%; 
 
    overflow: hidden; 
 
} 
 

 
.about-one-third { 
 
    width: 33.3333%; 
 
    padding: 2% 0; 
 
    float: left; 
 
    text-align: center; 
 
    background-color: #0066B2; 
 
    color: #f6f8fa; 
 
} 
 

 
.about-one-third i { 
 
    font-size: 8rem; 
 
    padding-bottom: 5%; 
 
} 
 

 

 
/* END ONE THIRD SECTIONS ------*/ 
 

 
.services-offered { 
 
    padding-left: 0; 
 
    margin: 2% 5%; 
 
    -webkit-padding-start: 0; 
 
    list-style-type: none; 
 
    overflow: none; 
 
} 
 

 
.services-offered li { 
 
    display: inline-block; 
 
    width: 20%; 
 
    vertical-align: top; 
 
    padding: 0 0 0 1.8rem; 
 
    text-align: justify; 
 
} 
 

 
.services-offered li:before { 
 
    content: "\f00c"; 
 
    font-family: FontAwesome; 
 
    width: 1.8rem; 
 
    margin-left: -1.8rem; 
 
    margin-right: 0.5rem; 
 
} 
 

 
/* END SERVICES OFFERED ---------*/
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <title>W Gooderham Gas Services</title> 
 
    <link href="https://fonts.googleapis.com/css?family=Raleway:200,700|Signika:300" rel="stylesheet"> 
 
    <link rel="stylesheet" type="text/css" href="css/style.css"> 
 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"/> 
 
</head>[enter image description here][1] 
 
    
 
    <div class="one-third-container"> 
 
     <section class="about-one-third"> 
 
      <td> 
 
       <i id="third-border" class="fa fa-calendar"></i> 
 
      </td> 
 
      <h2>Routine Servicing</h2> 
 
     </section> 
 

 
     <section class="about-one-third" id="centre-third"> 
 
      <td> 
 
       <i id="third-border" class="fa fa-wrench"></i> 
 
      </td> 
 
      <h2>Installation</h2> 
 
     </section> 
 

 
     <section class="about-one-third" id="breakdown"> 
 
      <td> 
 
       <i class="fa fa-snowflake-o"></i> 
 
      </td> 
 
      <h2>Breakdowns</h2> 
 
     </section> 
 
    </div> 
 
    
 
<! END ONE THIRD SECTION ---------------------> 
 
    
 
    <ul class="services-offered"> 
 
     <li> 
 
     Installation and commission of natural gas central heating systems. 
 
     </li> 
 
     
 
     <li> 
 
     Routine servicing of all natural gas appliances including warm air units. 
 
     </li> 
 
     
 
     <li> 
 
     If any of your gas appliances breakdown, we provide a 7 day a week callout service to get them back up and running. 
 
     </li> 
 
     
 
     <li> 
 
     We can provide gas safety landlord certification for all gas appliances in your properties. 
 
     </li> 
 
    </ul> 
 

+0

私はあなたのコードをすべて読んでいませんでしたが、最も一般的な問題は「フロート」のためにコンテナが折りたたまれていることが原因です。あなたがまだそれを試していない場合、Googleは "clearfix"のために。 – deadfishli

+0

うん、浮動小数点:left;が問題です – SourceOverflow

+0

さて、私は要素のオーバーフローの原則を理解しています。だから私はコンテナからフロートを取り除いたが、それを3分の1のセクションに残した。しかし、コンテナ内の浮動小数点が他の要素に影響を与えてはならないことは間違いありません(結局のところ、スタイルは正しく含まれていますか?) –

答えて

1

上記の要素に要素が「オーバーフロー」する理由は、one-third-containerfloat: left;を使用したためです(これは問題ありません)。しかし、下の要素にfloatがない場合、意図した以上にプッシュされた要素の望ましくない結果が得られます。 ul(またはクラスservices-offered)にfloat:left;を追加すると、この問題を防ぐことができます。

編集:float:leftを削除すると、この場合でも要素をフローティングする必要がないため、この場合も機能します。

編集2:浮動小数点数は、数年前のように実際にはそれほど多くの選択肢ではありません。フロートを使用するときは、クリアされていない要素がよくある問題です。そのため、flexboxが優れていると考えられています。 Flexboxには、多くのレイアウト問題を単純化する使用例がたくさんあります。これはflexboxなしではやや難解です。しかしながら、どんな考えを支払うことなくすべての要素にフレキシボックスを使用すると、例えば、このような望ましくない結果を生み出すことができますコードで

.container { 
 
    height: 500px; 
 
    display:flex; 
 
}
<div class="container"> 
 
<img src="http://via.placeholder.com/350x150"> 
 
</div>

の画像が歪んでいるスニペット。 .containeralign-itemsを追加することでこれを簡単に修正できますが、すべての要素でflexboxを使用すると問題が発生する可能性があります。

フレックスボックスを使用することは、適用している要素に注意を払っている限り、間違いなく良いことです。

+2

彼はそれをしたくないかもしれません。適切でしょう。 – SourceOverflow

+0

はい、clearfixも同様に動作します。あなたのご協力ありがとうございます。 – Maharkus

+0

提案のおかげで@マハルカス。上記のコメントで述べたように、コンテナからフロートを取り除くことは問題を解決していないので、clearfixが答えになるかもしれません! –

関連する問題