2017-06-30 3 views
1

Ich versuche Reagieren zu verwenden und flexbox.Normally kann ich Flexbox verwenden zu reagieren nativen aber icouldnt achive in react.jsReagieren und Flex-Layout, wie sie verwenden

das ist meine CSS-Datei

.wrapper, html, body { 
    height:100%; 
    margin:0; 
    position:absolute; 
} 
.wrapper { 
    display: flex; 
    flex-direction: column; 
} 
.nav { 
    background-color: red; 
    flex:1 
} 
.main { 
    background-color: blue; 
    flex:1 
} 

Das ist mein js

Datei
import React, { Component } from 'react'; 
import './background.css'; 
import { Icon } from 'semantic-ui-react' 
import Navbar from './navbar' 

class Back extends Component { 



    render() { 
    return (
     <div className="wrapper"> 
      <div className="nav"></div> 
      <div className="main"></div> 
     </div> 
    ); 
    } 
} 

export default Back; 

ich habe gerade einen weißen Bildschirm, was ein Problem sein könnte?

Danke

+0

Ihre 'nav' und' main' divs haben keinen Inhalt in ihnen! https://codesandbox.io/s/9QPvrw3pY – glhrmv

+0

Bitte überprüfen und kommentieren Sie meine Antwort, und lassen Sie mich wissen, wenn etwas unklar ist oder fehlt. Wenn nicht, dann wäre es schön, wenn Sie die Antwort akzeptieren könnten. Das Annehmen von Antworten ist auch eine gute Möglichkeit, Benutzer zu motivieren, nützliche Antworten auf Ihre zukünftigen Fragen zu geben, ** und ** sie erhöhen Ihre Wiederholungen. – LGSon

Antwort

0

Da die wrapper ist absolut positioniert und haben keinen Inhalt mit wachsen, seine Breite Zusammenbruch auf 0

einfach position: absolute aus der .wrapper, html, body Regel So entfernen. Wenn Sie immer noch position: absolute verwenden möchten, müssen Sie dem Wrapper auch eine Breite geben.

.wrapper, 
 
html, 
 
body { 
 
    height: 100%; 
 
    margin: 0; 
 
} 
 

 
.wrapper { 
 
    display: flex; 
 
    flex-direction: column; 
 
} 
 

 
.nav { 
 
    background-color: red; 
 
    flex: 1 
 
} 
 

 
.main { 
 
    background-color: blue; 
 
    flex: 1 
 
}
<div class="wrapper"> 
 
    <div class="nav"></div> 
 
    <div class="main"></div> 
 
</div>

+0

Es funktioniert bei normalem HTML und CSS, aber konnte nicht das gleiche Ergebnis bei reagieren haben? irgendeine Idee ? –

+0

@techsnake Wenn Sie den Entwickler verwenden. Werkzeuge, die in Browsern erstellt wurden (klicken Sie mit der rechten Maustaste auf die Webseite und wählen _Inspect_), können Sie dann die gerenderten Elemente durchgehen und deren Stile sehen. Wenn Sie einen Link oder eine Geige zu diesem Beispiel haben, kann ich das sehr schnell überprüfen und sehen, warum es nicht funktioniert. – LGSon

+1

Ich danke Ihnen für Ihre Hilfe https://jsfiddle.net/techsnake/e3r5w93j/ –

Verwandte Themen