8 Stimmen

div padding, margin?

Ich bin ein iPhone-Entwickler mit einigen grundlegenden CSS-Eigenschaften stecken ;) Ich möchte etwas wie dieses zeigen: alt text

Das habe ich:

<div class="cell">
    <div class="cell_3x3_top">
        <div class="cell_3x3_type rounded_left">type</div> <!--UPDATED:2010/09/29-->
        <div class="cell_3x3_title rounded_right">title</div><!--UPDATED:2010/09/29-->
    </div>
    <div class="cell_3x3_content rounded_left rounded_right">content</div><!--UPDATED:2010/09/29-->
</div>

und das css:

div.cell_3x3_top{
    height:20%;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    border: none;
    margin-bottom: 1px; /*to compensate space between top and content*/
    text-align: center;
    vertical-align: middle;

}
div.cell_3x3_type{
    width:20%;
    float:left;
    background-color: inherit;
    margin-right: -2px; /*UPDATED:2010/09/29*/
}
div.cell_3x3_title{
    width:80%;
    float:left;
    background-color: inherit;
    margin: 0 0 0 0;  /* maybe not neccesary*/
    padding: 0 0 0 0; /*maybe not neccesary*/
    margin-left: -1px; /*UPDATED:2010/09/29 */

}
div.cell_3x3_content{
    height:80%;
    background-color: inherit;
}

Aber wenn ich meinen Inhalt mit obigem Code rendere title div scheint zu groß zu sein, und es erscheint unter type div, Warum ist das so? type div ist 20% breit, title ist 80 % breit, also sollte es genau 100 % sein. Habe ich hier irgendeinen Rand oder eine andere Metrik vergessen? Ich habe versucht zu verschieben title div auf der linken Seite mit Marge, ist aber immer noch fehlerhaft. Ich frage mich, was ist der richtige Weg, um so etwas wie das Bild zu bekommen? (Nicht genau, denn wenn Sie genauer hinschauen title div ist etwas kürzer als es sein sollte. Sehen Sie, dass der rechte Rand nicht an der content div.)

Vielen Dank im Voraus.

BEARBEITEN: 2010/09/28

Das ist eigentlich das, was ich erreichen möchte: alt text

und das ist, was ich habe: alt text

Obigen Code (ein wenig aktualisiert) würde funktionieren, wenn ich nicht umrandet divs haben würde. Da Randbreite 1px ist, was ich brauche, ist zu setzen type div Breite auf 20%-2px (linker Rand + rechter Rand = 2px) und title div auf 80%-2px

.rounded_left{
    border-top-left-radius: 4px 4px;
    border-bottom-left-radius: 4px 4px;

    border-color:gray;
    border-width: 1px;
    border-style:solid;
}

(.rounded_right ist ähnlich)

Dies hat nichts zu tun mit clear:both Eigentum, glaube ich. Ich habe es versucht und hatte keine Wirkung, da mein content div war von Anfang an gut.

Kurz gesagt: Wie kann ich ein div einschließlich seines Rahmens auf sagen wir genau 20% Breite machen?

Ignacio

ANTWORT:

Ich habe festgestellt, dass ein Wrapper-Div um Typ und Titel das Problem löst. Meine Antwort ist also in etwa so:

<td class="cell">
<div class="cell_3x3_top bordered">
<div class="cell_3x3_type_container"><div class="cell_3x3_type rounded_left full_height">6</div></div>
<div class="cell_3x3_title_container"><div class="cell_3x3_title rounded_right full_height">title</div></div>                                                               </div>
<div class="cell_3x3_content rounded_left rounded_right">content</div>
</td>

Ich habe 20 % und 80 % in den Containern und die Ränder im inneren Div festgelegt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X