2016-04-05 12 views
1

Ich baue eine Website mit einem Handy erste Medienabfragen. Sobald ich zu einem größeren Gerät (Tablet) kam, musste ich meinen .textcontainer schweben lassen, damit er auf der rechten Seite meines Bildes ausgerichtet wurde.zentrieren Objekte nach Float

Der Float funktionierte, um meinen Inhalt vertikal in der Mitte der Seite auszurichten, aber ich konnte nicht herausfinden, wie ich mein Bild und meinen Text in der Mitte der Seite horizontal zentrieren sollte.

Ich habe einen Rand rechts von 8% zu meinem .textcontainer hinzugefügt, damit er zentriert aussieht, aber ich frage mich, ob es einen besseren Weg geben würde, meinen gesamten Inhalt in der Mitte der Seite auszurichten, der reaktionsfähiger wäre ?

Da ich einen Float verwendet habe, zentriert sich das .mailicon-Bild nicht mehr (vertikal und horizontal) unten auf meiner Seite ... Ich muss es in die Mitte zurückbringen.

Hier ist mein HTML:

<div class="section section4"> 
     <img src="icons/ML-network.gif" alt="icon3"> 
     <div class="textcontainer"> 
     <h1>Ethereum</h1> 
     <p class="ultralight">A turing complete platform with numerous <br> pre-optimized smart contract templates. Backed by the security of Ethereum.</p> 
     </div> 
     <a href="mailto:[email protected]"><img class="mailicon" src="icons/email-icon%20color.png" alt="mail icon"></a> 
    </div> 

und meine CSS:

main img { 
     width: 30%; 
    } 
    .textcontainer { 
    float: right; 
    width: 50%; 
    margin-right: 8%; /* ADJUST BETTER... */ 
    } 
    main .section > * { 
    position: relative; 
    top: 50%; 
    transform: translate(0, -50%); 
} 
    main h1 { 
    text-align: left; 
    font-size: 1.8em; 
    margin-top: 0;  
    } 
    main p { 
    text-align: left; 
    margin: 0;  
    } 
    .section4 .mailicon { 
    clear: both; 
    width: 40px !important; 
    position: absolute; 
    bottom: 0; 
    left: 0; 
    right: 0; 
    margin: auto; 
    } 
+0

Es ist ein wenig unklar, was Sie zu erreichen versuchen. Sie möchten Ihr Icon3 und das Textfeld in derselben Zeile, Icon3 auf der linken Seite und das Textfeld zentriert? Oder unter einander beide zentriert? –

+0

Ich möchte die Icon3 und die .textcontainer nebeneinander (so schwebend) und zentriert vertikal und horizontal in der Mitte von .section4. Dann möchte ich, dass mein .mailicon in der Mitte meiner .section4 steht. –

Antwort

0

Sie display:inline-block; zum Kinder-Elemente verwenden kann (in Ihrem Fall .textcontainer), die die text-align Regeln in Mutter gegeben bleibt .

Ich legte iPhone-Media-Abfrage auch und machte die .textcontainer, um ausgerichtet zu werden.

img { 
 
    width: 30%; 
 
    float:left; 
 
} 
 
.clearfix{ 
 
clear:both; 
 
} 
 
.section{ 
 
    text-align:right; 
 
} 
 
.textcontainer { 
 
    width: 50%; 
 
    display:inline-block; 
 
    text-align:left; 
 
} 
 
main.section > * { 
 
    position: relative; 
 
    top: 50 %; 
 
    transform: translate(0, -50%); 
 
} 
 
main h1 { 
 
    text - align: left; 
 
    font - size: 1.8em; 
 
    margin - top: 0; 
 
} 
 
main p { 
 
    text-align: left; 
 
    margin: 0; 
 
} 
 
.section4.mailicon { 
 
    clear: both; 
 
    width: 40px!important; 
 
    position: absolute; 
 
    bottom: 0; 
 
    left: 0; 
 
    right: 0; 
 
    margin: auto; 
 
} 
 

 
@media only screen 
 
    and (min-device-width: 320px) 
 
    and (max-device-width: 480px) 
 
    and (-webkit-min-device-pixel-ratio: 2) { 
 
    .section{ 
 
    text-align:center; 
 
    } 
 
}
<div class="section section4"> 
 
    <img src="icons/ML-network.gif" alt="icon3"> 
 
    <div class="clearfix"></div> 
 
    <div class="textcontainer"> 
 
    <h1>Ethereum</h1> 
 
    <p class="ultralight">A turing complete platform with numerous 
 
     <br>pre-optimized smart contract templates. Backed by the security of Ethereum.</p> 
 
    </div> 
 
    <div class="clearfix"></div> 
 
    <a href="mailto:[email protected]"> 
 
    <img class="mailicon" src="icons/email-icon%20color.png" alt="mail icon"> 
 
    </a> 
 
</div>

+0

ok Ich habe meinen HTML-Code unverändert gelassen und ändere meinen CSS-Code. Ich zeige an: blockiere den .textcontainer und mein Hauptbild, lösche alle Schwimmer und fügte hinzu: .section4> * { position: relative; oben: 48%; transform: translate (0, -50%); alles ist gut zentriert in der Mitte der Seite jetzt außer dem .mailicon, das unter dem Absatz auf der rechten Seite klebt ?? –

0

Ihr Code Arbeit scheint nicht auf meinem Computer (vertikal ausrichten).

können Sie jQ, dies zu tun:

var conWidth = $(".section4").width(),imgWidth =$(".section4 > img").width(),textConWidth = $(".textcontainer").width() ; 
    $(".textcontainer").css("margin-right",(conWidth - imgWidth - textConWidth)/2); 

Für vertikal Zentrum ausrichten, ich dies in der Regel tun:

.someclass{ 
     display: table-cell; 
     vertical-align:middle; 
     width: 100px; 
     height: 100px; 
    }