Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [html / css] Stylesheet überschreiben (https://www.delphipraxis.net/78523-%5Bhtml-css%5D-stylesheet-ueberschreiben.html)

Luckie 6. Okt 2006 11:31


[html / css] Stylesheet überschreiben
 
Ichhabe einen Stylesheet in dem ich für gewisse Elemente Stile festlege:
Code:
table {
  border-width: 1px;
  border-style: solid;
  border-collapse: collapse;
  border-color: gray;
  font-size: 90%;
}

th {
  text-align: left;
  border-width: 1px;
  border-style: solid;
  padding: 3px;
  font-weight: bold;
}

td {
  padding: 3px;
  border-width: 1px;
  border-style: solid;
  vertical-align: top;
}
Jetzt wollte ich aber gerne für eine Tabelle, dies überschreiben ohne extra eine neue Klasse im Stylesheet anlegen zu müssen:
Code:
    $i = 0;
    echo "<table border=0>\n";
    foreach($dirs as $dir)
    {
      if ($i % 4 == 0)
      {
        echo "<tr>\n";
      }
      $files = ListFiles($dir.'/', 'name');
      echo '<td border=0>';
      echo '[img]/pics/folder.gif[/img] [url="/dirindex.php?folder=Developer/Artikel/'.$dir.'/"]'.$dir.'[/url] ['.count($files).']&nbsp&nbsp&nbsp';
      echo "</td>\n";
      $i++;
      if (($i % 4 == 0) && ($i != 0))
        echo "</tr>\n";
    }
    echo "</tr>\n";
    echo "</table>\n";
Allerdings hat dies keine Auswirkung. Wie kann ich das trotzdem hinbekommen? Ich wollte den Stylesheet nicht unnötig aufblähen.

chaosben 6. Okt 2006 11:36

Re: [html / css] Stylesheet überschreiben
 
Imho haben CSS-Definitionen eine höhere Priorität als HTML-Definitionen.

Insofern müsstest du deinen Willen so ausdrücken:
Code:
echo "<table style='border-width:0px'>\n";
Siehe auch hier.

alcaeus 6. Okt 2006 11:50

Re: [html / css] Stylesheet überschreiben
 
Zitat:

Zitat von chaosben
Imho haben CSS-Definitionen eine höhere Priorität als HTML-Definitionen.

Richtig.

Zitat:

Zitat von chaosben
Insofern müsstest du deinen Willen so ausdrücken:

Wenn schon so:
Code:
echo "<table style=\"border-width:0px\">\n";
Attribute werden mit " umschlossen, nicht mit '.

Greetz
alcaeus

chaosben 6. Okt 2006 11:52

Re: [html / css] Stylesheet überschreiben
 
Zitat:

Zitat von alcaeus
Attribute werden mit " umschlossen, nicht mit '.

Amen

Luckie 6. Okt 2006 11:56

Re: [html / css] Stylesheet überschreiben
 
Ah, danke, so geht es.

chaosben 6. Okt 2006 12:02

Re: [html / css] Stylesheet überschreiben
 
OT:

Ich widerufe und nagle dies und das an die Schlosskirche zu Hamburg ;)

Attribute können doch mit einfachen Quotes angegeben werden!

alcaeus 6. Okt 2006 12:13

Re: [html / css] Stylesheet überschreiben
 
Hamburg ist ein bisschen weit weg, aber ich kanns trotzdem lesen:
Zitat:

In some rare situations, like when the attribute value itself contains quotes, it is necessary to use single quotes:

name='John "ShotGun" Nelson'
Das wird nie passieren, da ", die als " angezeigt werden sollen, als &quot; escaped werden muessen:
Code:
name="John &quot;ShotGun&quot; Nelson"
Und soweit ich weiss gilt das mit den Double Quotes fuer XHTML. Dort ist alles lowercase, und Attributwerte werden mit doubles und nicht singles umschlossen. Ich garantiere das nicht 100%ig, aber soweit ich informiert bin, ist das so.

Zusatz weil du grad editiert hast (der rote Kasten war sogar da): in HTML 4.01 war das noch so...aber wer heutzutage noch HTML und nicht XHTML schreibt, hat sowieso einiges verschlafen. Aendert aber nichts an der Tatsache, dass auch in HTML " nicht einfach so im Code auftauchen darf, gleich wie <, >, &.

Greetz
alcaeus

Luckie 6. Okt 2006 13:21

Re: [html / css] Stylesheet überschreiben
 
Ich wollte jetzt noch ein weiteres Stil-Element hinzufügen:
Code:
echo "<td style=\"border-width:0px\" \"width:400px\">";
Aber er scheint die Angabe width zu ignorieren. :gruebel:

Elvis 6. Okt 2006 13:23

Re: [html / css] Stylesheet überschreiben
 
Zitat:

Zitat von Luckie
Ich wollte jetzt noch ein weiteres Stil-Element hinzufügen:
Code:
echo "<td style=\"border-width:0px\" \"width:400px\">";
Aber er scheint die Angabe width zu ignorieren. :gruebel:

Schreibe mal direkt in plain text, was du da für einen Text generieren willst. :mrgreen:

Luckie 6. Okt 2006 13:24

Re: [html / css] Stylesheet überschreiben
 
Code:
<td style="border-width:0px" "width:400px">
Die Zelle soll eben auch eine feste Breite haben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz