Kann man mit HTML einen Text nur auf die Hälfte der Seite machen?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Beispiel:

<div class="container">
  <table>
    <tr>
      <td>Test</td>
    </tr>
  </table>
  <p>
    Lorem ipsum dolor sit amet
  </p>
</div>

CSS:

table {
  border: 1px solid; /* for demonstration */
  width: 100%;
}

.container {
  width: 50%;
}

Der Container legt die Breite fest, die Tabelle und Paragraph jeweils insgesamt einnehmen dürfen.

DeinAuswurf 
Fragesteller
 20.08.2022, 16:50

Ich habe es jetzt so gemacht, dass ich einfach den Paragraf definiert habe:

<p style="width:50%">

funktioniert tatsächlich, kann man das so machen, oder wäre das nicht ästhetisch.

0
regex9  20.08.2022, 17:40
@DeinAuswurf

Wenn du nur die Breite des Paragraph definierst und die Tabelle sich durch Inhaltsänderungen noch einmal ändert, musst du den Style für den Paragraph erneut anpassen.

0
DeinAuswurf 
Fragesteller
 20.08.2022, 17:01

2.Frage: Ich habe es auch mal so gemacht, wie du hier geschrieben hast. Kann man da noch was neben diese div machen, sodass in einer separaten Box neben der Tabelle was steht.

0
regex9  20.08.2022, 17:52
@DeinAuswurf

Die Frage wäre erst einmal, ob neben der kompletten Box eine zweite Spalte stehen soll oder nur neben der Tabelle.

Den ersten Fall könnte man leicht mit einer Flexbox lösen.

<div class="two-column-container">
  <div class="container"><!-- table, paragraph --></div>
  <div><!-- right column ... --></div>
</div>

CSS:

.two-column-container {
  column-gap: 10px;
  display: flex;
}

Im zweiten Fall könnte man entweder die Tabelle und die rechte Box in eine Box stecken und wie oben mit einer Flexbox ausrichten oder man nutzt ein Grid.

<div class="container">
  <table><!-- ... --></table>
  <div><!-- right column ... --></div>
  <p><!-- text ... --></p>
</div>

CSS:

.container {
  column-gap: 10px;
  display: grid;
  grid-template:
    "a b"
    "c c";
  width: 50%;
}

Die Tabelle braucht nicht mehr explizit auf 100% Breite gestreckt werden. Das übernimmt nun das Grid.

1

Ich weiß nicht, was du genau mit der Tabelle meinst, aber pack den Text einfach in ein DIV mit der gewünschten Position und Größe rein.

Eine Skizze wäre hilfreich.

Woher ich das weiß:Studium / Ausbildung – Ich studiere Informatik
DeinAuswurf 
Fragesteller
 20.08.2022, 16:18

Also ich habe eine Tabelle mit Länge x. Dann folgt ein Text mit der Länge X+Y. Ich will aber, dass der Text auch Länge X hat und dann in die nächste Zeile geht. Wie als würde man in Word eine Textbox machen, die unter ein Bild gesetzt wird und nicht über das Bild hinaus geht. Ich habe eine Skizze hinzugefügt.

0
DummeStudentin  20.08.2022, 16:22
@DeinAuswurf

Ein DIV mit der gewünschten Breite. Dieses DIV enthält die Tabelle und den Text, beides mit 100% Breite.

1
DeinAuswurf 
Fragesteller
 20.08.2022, 16:29
@DummeStudentin

Funktioniert nicht. Du meinst, aber schon einfach:

<div><table>....</table><p>....</p></div>

OdeR?

0

Die Lösung von regex9 ist wie immer super. Wollte aber noch kurz eine weitere Lösung aufzeigen, weil diese einen semantischen Bezug des Textes zur Tabelle herstellt (sozusagen Erklärung des Tabelleninahltes), indem man tfoot benutzt:

https://jsfiddle.net/0kjr9tdy/

Maximale Erfolge!