2016-11-29 9 views
0

tableの中にdivがあります。これは、そのサイズのために複数のオーバーフローする必要がありますtdです。 これはPC上で正常に動作しますが、モバイルではページ外にオーバーフローする問題があります。スクリーンショットをチェックしてください:divがページ外にオーバーフローしています

enter image description here

enter image description here

コード:

body { 
 
    font-family: Verdana, sans-serif; 
 
    height: 100%; 
 
} 
 

 
.kalender {height: 60vh;} 
 

 
table, td, th { 
 
    text-align: left; 
 
    border: 1px solid black; 
 
    vertical-align: text-top; 
 
    padding: 5px; 
 
    font-size: 13px; 
 
} 
 

 
table { 
 
    height: 100%; 
 
    width: 100%; 
 
} 
 

 
th { 
 
    height: 6%; 
 
    background-color: #e7e7e7; 
 
} 
 

 
td { 
 
    width: 14.28%; 
 
    height: 15.6%; 
 
    position: relative; 
 
} 
 

 
.outer { 
 
     position: absolute; 
 
     font-size: 10px; 
 
     } 
 

 
    .details { 
 
     display: none; 
 
     background-color: gray; 
 
     overflow: visible; 
 
     border: 2px solid black; 
 
     float: left; 
 
     position: relative; 
 
     z-index: 10; 
 
     padding: 5px; 
 
     font-size: 12px; 
 
    } 
 

 
.kortNavn { 
 
    position: relative; 
 
    top: 0; 
 
    left: 0; 
 
    display: flex; 
 
    text-align: center; 
 
} 
 

 
.skoleFri { 
 
    border-radius: 50%; 
 
\t width: 8px; 
 
\t height: 8px; 
 
    background-color:red; 
 
    display: inline-block; 
 
} 
 

 
.sfoFri { 
 
    border-radius: 50%; 
 
\t width: 8px; 
 
\t height: 8px; 
 
    background-color:blue; 
 
    display: inline-block; 
 
} 
 

 
    div:hover > .details {display: block;}
<div class="kalender"> 
 
    <table *ngIf="datoer"> 
 
     <tr> 
 
      <th>Man</th> 
 
      <th>Tir</th> 
 
      <th>Ons</th> 
 
      <th>Tor</th> 
 
      <th>Fre</th> 
 
      <th>Lør</th> 
 
      <th>Søn</th> 
 
     </tr> 
 
     <tr> 
 
      <td *ngFor="let cell of ukeEn()"> 
 
       {{cell.text}} 
 
       <div class="outer" *ngIf="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngFor="let kort of datoerContains(cell).kortSkolenavn"> 
 
         {{kort}} 
 

 
         <div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngIf="datoerContains(cell).sfoFri == true" ></div> 
 

 
        </div> 
 

 
        <div class="details" *ngFor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         {{skole.skole}} <br> 
 
         {{skole.kommentar}} <br> 
 
         SFO: {{skole.sfodag}} 
 
        </div> 
 

 
       </div> 
 
      </td>    
 
     </tr> 
 
    </table>

溢れdivdetailsクラスです。このdivは、tdの内部にある必要があります。表示されるように、の*ngForは、のdatoerContains(cell)にあり、detailsにあります。

だから私はページ内にとどまる方法を見つける必要があります。アイデア?

+0

質問を開始することができると信じて](https://blog.stackoverflow.com/2014/09/introducing-runnable-javascript-css-and-html-code-snippets/)。 [**最小限で完全で検証可能なサンプルを作成する方法**](http://stackoverflow.com/help/mcve) –

答えて

0

テーブルの場所に関連する詳細を表示する代わりに、表示に問題がないことがわかっているどこかで定数を表示できます。または少なくともモバイルで!

+0

これをコード化する方法の例がありますか? – MariusJ

1

オーバーフローオーバーフローのコード:visible; オーバーフローを設定する必要があります。

+0

私は試しました。それは助けにはなりません... – MariusJ

+0

ポジションを変更しようとします –

+0

何に変更しますか? – MariusJ

0

右の宣言でいくつかの異なる外部クラスが必要になることがあります。画面の右端にあるときは0(左に開く)、下端にあるときは100%です。また、誤ってタイプされているかどうかは分かりませんが、アウターの前にドットがありません。それ以上の助けのための実際のコードを表示することができればよいでしょう

+0

コード例がありますか? – MariusJ

+0

私たちはあなたに何か間違っているかを教えてくれるように、完全なスタイリングやURLを使って、私たちに、または実際の例を与える必要があります。 – codexy

0

これを見てください。私は**、好ましくは、[**スタックスニペットに**質問自体に**あなたがそれを再現するために必要な最短のコードが含まれている必要があり、コードの助けを求めているから、その

body { 
 
    font-family: Verdana, sans-serif; 
 
    height: 100%; 
 
} 
 

 
.kalender {height: 60vh;} 
 

 
table, td, th { 
 
    text-align: left; 
 
    border: 1px solid black; 
 
    vertical-align: text-top; 
 
    padding: 5px; 
 
    font-size: 13px; 
 
} 
 

 
table { 
 
    height: 100%; 
 
    width: 100%; 
 
} 
 

 
th { 
 
    height: 6%; 
 
    background-color: #e7e7e7; 
 
} 
 

 
td { 
 
    width: 14.28%; 
 
    height: 15.6%; 
 
    position: relative; 
 
} 
 

 
.outer { 
 
    position: absolute; 
 
    font-size: 10px; 
 
    top: 0px; 
 
    left: 0px; 
 
    
 
} 
 

 
table { 
 
    table-layout: fixed; 
 
} 
 
    .details { 
 
    background-color: gray; 
 
    display: none; 
 
    
 
    border: 2px solid black; 
 
    position: relative; 
 
    z-index: 10; 
 
    padding: 5px; 
 
    font-size: 12px; 
 
    
 
} 
 
.rdet{right: 0; left: auto;position: absolute;} 
 
.rbot{position: absolute; bottom: 0px; top: auto; } 
 
.kortNavn { 
 
    position: relative; 
 
    top: 0; 
 
    left: 0; 
 
    display: flex; 
 
    text-align: center; 
 
} 
 

 
.skoleFri { 
 
    border-radius: 50%; 
 
\t width: 8px; 
 
\t height: 8px; 
 
    background-color:red; 
 
    display: inline-block; 
 
} 
 

 
.sfoFri { 
 
    border-radius: 50%; 
 
\t width: 8px; 
 
\t height: 8px; 
 
    background-color:blue; 
 
    display: inline-block; 
 
} 
 

 
    .outer:hover > .details {display: block;}
<div class="kalender"> 
 
    <table *ngif="datoer"> 
 
     <tbody><tr> 
 
      <th>Man</th> 
 
      <th>Tir</th> 
 
      <th>Ons</th> 
 
      <th>Tor</th> 
 
      <th>Fre</th> 
 
      <th>Lør</th> 
 
      <th>Søn</th> 
 
     </tr> 
 
     <tr> 
 
      
 

 

 

 

 
    
 
    
 
    
 
    
 
    
 
<td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td> 
 
<td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td> 
 
<td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td> 
 
<td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td> 
 
<td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td><td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td><td *ngfor="let cell of ukeEn()"> 
 
7    <div class="rout outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="rdet details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td> 
 

 

 
      
 
     </tr> 
 
      <tr> 
 
      
 

 

 

 

 
    
 
    
 
    
 
    
 
    
 
<td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td> 
 
<td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td> 
 
<td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td> 
 
<td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td> 
 
<td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td><td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td><td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="rdet details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td> 
 

 

 
      
 
     </tr> 
 
      <tr> 
 
      
 

 

 

 

 
    
 
    
 
    
 
    
 
    
 
<td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="rbot details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td> 
 
<td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="rbot details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td> 
 
       
 
<td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="rbot details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
    
 
       </div> 
 
      </td> 
 
<td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="rbot details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
    
 
      </td> 
 
<td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="rbot details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 
    
 

 
       </div> 
 
      </td><td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="rbot details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td><td *ngfor="let cell of ukeEn()"> 
 
7    <div class="outer" *ngif="datoerContains(cell).fulltSkolenavn != null"> 
 

 
        <div class="kortNavn" *ngfor="let kort of datoerContains(cell).kortSkolenavn"><div class="skoleFri"></div> 
 
         <div class="sfoFri" *ngif="datoerContains(cell).sfoFri == true"></div> 
 

 
        </div> 
 

 
        <div class="rdet rbot details" *ngfor="let skole of datoerContains(cell).fulltSkolenavn"> 
 
         skole skole <br> 
 
         skole kommentar <br> 
 
         SFO: skole sfodag 
 
        </div> 
 

 
       </div> 
 
      </td> 
 

 

 
      
 
     </tr> 
 
    </tbody></table> 
 
</div>

+0

ありがとう!私は同様のことをやろうとしましたが、うまくいかないようです。 PC上では、ページがそれに合っていれば高さが広がりますが、これは起こりたくありません。モバイルでは、問題はまったく解決されません。 あなたの例は私のものと似ていますが、「外側」のクラスは「詳細」クラスにラップする必要があります。 さらなるアドバイスのために、このコードを拡張しました。 – MariusJ

+0

編集したコードを見てください。残っていることは、bottom:0で開くべきことを宣言することだけです。最下部にスペースがないとき – codexy

+0

私たちは近づいています、明らかに。しかし、私は言葉の中断が好きではありません。左のdivが右にdivを重ね、右のdivに右にdivを重ねることは可能ですか? また、bottom:0を使用すると、隠れたdivが非常に高い場合、赤と青のドットが隠れたdivの上にとどまるような問題が発生します。 – MariusJ

関連する問題