2017-08-21 1 views
0

Ich habe ein CSS-Problem, eigentlich einen Abstand, der bei einer anderen Bildschirmgröße angezeigt wird. Bitte schauen Sie sich das Bild unten an, um es besser zu verstehen.CSS - Abstand wird angezeigt, wenn auf verschiedene Bildschirmgrößen umgeschaltet wird

<div id="map" style="width: 100%; height:70%"></div> 

<div class="subTitle">Subtitle is here</div> 

    <div class="details"> 
    <ion-grid class="borderBottom" no-padding> 
    <ion-row padding> 
     </ion-row> 
    </ion-grid> 
    <ion-row> 
    <button ion-button full color="light"></button> 
    </ion-row> 
</div> 

CSS

.subTitle{ 
padding: 4px 0 5px 0; 
font-size: 4.7vw; 
background-color: #22a800; 
width: 100%; 
text-align: center; 
color: white; 
font-weight: 600; 
} 


.details{ 
width: 100%; 
bottom:0; 
background: white; 
text-align: center; 
box-shadow: 0px -5px 5px rgba(0, 0, 0, 0.1); 
border-top:1px solid #dedede; 
width:100%; 
position: fixed; 
background: #f9f9f9; 
    } 

Normale

enter image description here

Wenn auf eine andere Bildschirmgröße umgeschaltet wird, erscheint die Frage:

enter image description here

ich zweifeln bin, dass das Thema auf der folgenden Zeile ist:

<div id="map" style="width: 100%; height:70%"></div> 

Wo die Höhe auf 70% festgelegt wird, wie der grüne Balken auf einigen anderen Bildschirmgrößen geht unter "einigen Informationen IN DIESE KASTEN

+0

Bitte überprüfen Sie das Element (Raum) in Chrom und einen Screenshot von dem Entwickler-Tool CSS etc –

+0

Die Frage ist ... Sie sagen, dass Ding ist 70% Höhe ... aber 70% von was? Der Körper weiß nicht, dass es eine eigene Größe hat ... – sheriffderek

+0

Beginnen Sie mit so etwas: https://jsfiddle.net/sheriffderek/uozufwrx/ – sheriffderek

Antwort

0

Die Sache ist ... es ist immer noch 70%, aber Ihre ursprünglichen 70% wurde basierend auf dem ersten Bildschirm festgelegt - und es war nur eine "magische Zahl", die funktioniert ... aber wie Sie gefunden - funktioniert nicht, wenn der Bildschirm größer oder kleiner ist.

Möglicherweise müssen Sie hier eine Flex-Box verwenden - oder etwas JavaScript, um die Browserhöhe zu überprüfen und dann basierend auf den Elementgrößen einige Entscheidungen zu treffen.

https://jsfiddle.net/sheriffderek/xws3e18z/

<div class="map"> 
    map 
</div> 

<div class="sub-title"> 
    sub-title 
</div> 

<div class="other-stuff"> 
    other-stuff 
</div> 

<div class="button"> 
    button 
</div> 

...

html { 
    height: 100%; 
} 

body { 
    height: 100%; 
    display: flex; 
    flex-direction: column; 
} 

div { 
    padding: 1rem; 
} 

.map { 
    background: gray; 
    flex-grow: 1; 
} 

.sub-title { 
    background: lightgreen; 
} 

.other-stuff { 
    background: white; 
    flex-basis: 100px; 
} 

.button { 
    background: lightgray; 
} 
Verwandte Themen