CSS Text als ganzes umrahmen

Aus deiner Beschreibung werde ich nicht wirklich schlau. Hättest du vielleicht einen Screenshot oder ein Beispielbild, wie es aussehen sollte?
 
Der entsprechende HTML-Code würde mich mehr interessieren. Ich kann mir schon denken, woran es hängt.
 
Wie umrahmst du den Text denn?

Wenn er bspw. in einem Absatz <p> steht, dann gibst du dem Absatz den Rahmen mit:
HTML:
<p style="border:1px solid black">Mein Text mit Rahmen</p>
 
Also es scheitert daran, dass die Umrahmung sich durch die zeilen zieht, sprich bei 2 zeilen text, sind zwischen den zeilen noch einen rahmenstrich, da er den rahmen durch die zeilen zieht und die aber an den enden offen sind, außer beim ende des textes
 
Hast du möglicherweise statt z. B. eines Block-Elements (<div>, <p>) ein Inline-Element (<span>, <em> etc.) gestaltet?

Ansonsten gilt:
Her mit dem Quellcode, sonst wird das nichts.
 
PHP:
.text {

border-style: outset;
border-collapse: separate;
width: 300;
height: 0; 
background:gray; 
border-style: solid; 
border-width: 1; 
padding-left: 4; 
padding-right: 4; 
padding-top: 1; 
padding-bottom: 1;



}

hier ist die class für den text
 
So und jetzt machste ein
Code:
display:block
rein und dann siehst gescheit aus.

Code:
.text { 
border-style: outset; 
border-collapse: separate; 
width: 300; 
height: 0; 
background:gray; 
border-style: solid; 
border-width: 1; 
padding-left: 4; 
padding-right: 4; 
padding-top: 1; 
padding-bottom: 1; 
display:block;
}
 
Scarred schrieb:
PHP:
.text {

border-style: outset;
border-collapse: separate;
width: 300;
height: 0; 
background:gray; 
border-style: solid; 
border-width: 1; 
padding-left: 4; 
padding-right: 4; 
padding-top: 1; 
padding-bottom: 1;



}

hier ist die class für den text

Also erst einmal muss dein Code DRINGEND gekürzt werden:

Code:
.text {
background: gray;
border: 1px solid;
height: 0; (Wofür ist das?)
padding: 1px 4px;
width: 300px;
}

Du darfst innerhalb einer Klasse keine Eigenschaften überschreiben (border).

Werte ohne Einheiten gehen nicht und Dinge wie border- oder padding-Werte solltest du zusammenfassen. Bei border spielt die Reihenfolge der Werte keine Rolle, bei padding müssen die Werte im Uhrzeigersinn notiert werden.

Dann solltest du uns noch sagen, auf welche Elemente du die Klasse anwendest, denn wie die Kollegen oben schon gesagt haben, ist es wichtig zu wissen, ob es ein Block-Level-Element ist oder ein Inline-Level-Element.

Ich glaube, du hast ein grundlegendes Problem mit CSS, da du nirgends Einheiten notierst, wo sie nötig sind. Hast du gerade erst angefangen damit? Dann bleib' am Ball und lerne weiter, wir helfen dir sehr gerne! :) Falls du schon länger dabei bist, wäre ich relativ verwirrt. ;)
 
S.o.T. schrieb:
Du darfst innerhalb einer Klasse keine Eigenschaften überschreiben (border).
Wieso "darf man das nicht? Bitte begründe Deine Behauptung.
 
Zuletzt bearbeitet:
@ XunnD:

Weil es einfach sinnfrei ist. Du kannst z. B. nicht in der selben Klasse sagen, der Hintergrund solle grün sein, und diesen Wunsch dann zwei Zeilen später wieder mit einer Anweisung für einen roten Hintergrund negieren. Analog dazu stünde hier "border-style: outset" gegen "border-style: solid".
 
Mehrmals innerhalb einer Klasse ein CSS-Attribut festzulegen ist allerdings schon sinnfrei. Ich hatte sein Statement falsch verstanden. Hab's jetzt erst gesehen, danke.
 
XunnD schrieb:
Wieso "darf man das nicht? Bitte begründe Deine Behauptung.

Weil dann logischerweise die vorangegangen Eigenschaften obsolet sind. Wenn du oben den Hintergrund als rot definierst und in der nächsten Zeile dann wieder als blau, dann ist das ganz schön sinnlos, findest du nicht? ^^

Edit: Hatte den Thread zu lange ungelesen in einem Tab offen. Habe die ganzen Antworten nicht mitbekommen, weil ich nach meiner Rückkehr an den PC den Tab nicht aktualisiert habe. ;)
 
Hab schon geschrieben, dass ich Deine Aussage missverstanden habe.
 
Zurück
Oben