Was passiert mit den verbleibenden 1px, wenn ein div mit einer ungeraden Breite 50% / 50% geteilt wird?

9

Nehmen wir an, ich wollte einen Hintergrund für div#wrapper erstellen, so dass die Hälfte blau und die Hälfte rot ist, indem zwei divs mit width:50% verwendet werden:

HTML:

%Vor%

CSS:

%Vor%

Hier ist eine Geige für das obige Beispiel.

Dies würde die Aufgabe theoretisch lösen. Wenn jedoch der Wrapper eine Breite mit einer ungeraden Anzahl von Pixeln hätte, was würde mit den verbleibenden 1px passieren?

Beispiel: Wenn die Breite des Wrappers auf 101 px geändert wurde, wäre #leftSide 50 px breit und #rightSide wäre 50 px breit, wodurch vermutlich eine 1 px vertikale weiße Linie in der Mitte verläuft.

Wie rendern Browser das normalerweise? Wird eine der Seiten die restlichen 1px absorbieren? Und wenn ja, was wäre der beste reine CSS-Ansatz, um dies zu umgehen? Meine erste Neigung wäre, den Hintergrund des Wrappers entweder rot oder blau zu setzen, aber gibt es andere Ansätze?

    
JSW189 26.07.2012, 16:02
quelle

2 Antworten

6

Siehe Ссылка .

In IE und Firefox nimmt die rechte Seite das zusätzliche Pixel auf. In Chrome gibt es tatsächlich eine Lücke zwischen den beiden.

Das Festlegen des Hintergrunds des Containers scheint der beste Weg zu sein, dies zu beheben.

    
Jacob 26.07.2012, 16:11
quelle
-1

Eine mögliche Lösung ist keine Breite für das zweite DIV ( #rightSide ) und float: left; nur für das linke DIV . Da dies Blockelemente sind, werden sie immer auf die volle verfügbare Breite erweitert, wenn keine gesetzt wurde.

Im Beispiel ist die Wrapper-Breite 3px, der linke Container hat eine Breite von 1-2px (abhängig vom Browser) und der rechte Container benötigt den übrig gebliebenen horizontalen Platz im Wrapper:

Ссылка

    
feeela 26.07.2012 16:23
quelle

Tags und Links