2009-07-10 5 views
-1

In meiner CSS-Datei habe ich einen Reset, wo ich den Rand festlegen: 0. Dies führt dazu, dass alle Tabellen in IE, nicht Firefox, keinen Rahmen haben. Auch wenn ich den Rahmen inline auf den Tisch setze, wird er im IE immer noch nicht angezeigt. Kennt jemand die Lösung dafür?Tabellen in IE haben keine Grenze, wenn Rand = 0 in einem CSS-Reset?

Teil des Rests:

table, img 
{ 
    border:0; 
} 

<table border="1"> 
<tr> 
<td></td> 
</tr> 
</table> 

Border zeigt in Firefox, aber nicht im Internet Explorer. Muss ich Stil tun = "border: 1px solid black" in der Tabelle statt border = "1"

+2

Eine Chance auf einen Blick auf Ihre CSS/XHTML? Es könnte etwas von einem Spezifitätskonflikt zu einem Tippfehler sein. –

+0

Beispiele PLZ ... – Jason

+0

Ich gab ein Beispiel – Xaisoft

Antwort

1

Wenn Sie möchten, dass bestimmte Tabelle eine Grenze haben, würde ich es nur eine Klasse geben:

table, img 
{ 
    border:0; 
} 
table.something 
{ 
    border: solid 1px #000000; 
} 

<table class="something"> 
    <tr> 
    <td></td> 
    </tr> 
</table> 

That sollte in allen Browsern funktionieren.

-1

haben Sie

versucht
table {border-collapse: collapse;} 

EDIT: warten, Sie versuchen, sie wieder loszuwerden die Grenze oder fügen Sie es hinzu? Jetzt bin ich verwirrt ...

+0

In meinem Rest habe ich nur Tabelle und eine Reihe anderer Elemente und mit Rand, padding alle 0, etc und Grenze: 0. Willst du sagen, dass ich den Randzusammenbruch in den Reset oder in den Inline-Stil setze – Xaisoft

+0

Ich versuche, die Grenze hinzuzufügen. In IE wird der Rahmen nicht angezeigt, aber in Firefox zeigt es. Ich wollte dich nur wissen lassen, dass es in Firefox funktioniert, aber nicht in IE. – Xaisoft

0

Wenn Sie eine Grenze Sie nicht die Grenze auf 0 Versuchen Sie stattdessen setzen soll

table{ 
    border: 2px; 
} 

, die besser funktionieren sollte.

EDIT:

Wenn Sie es inline tun wollen, sollten Sie tun

<table border="2px"> 
+0

Ich verwende border: 0, weil ich es auch für Bilder verwende – Xaisoft

+0

Wenn er es inline machen will, sollte er 'style =" border: 1px', nicht das 'border' Attribut verwenden. Ich weiß nicht warum war nicht veraltet für Tabellen wie es für Bilder war.: -/ –

+0

@Xaisoft: Wenn Sie Grenzen für Tabellen haben möchten, aber nicht für Bilder, sollten Sie sie separat stylen –

0

Unter der Annahme, dass es in Ihrem Code keine Tippfehler (in der Frage), haben Sie versucht, eine Messeinheit Hinzufügen zu die Inline-Einstellung?

<table border="1px">

Zum Beispiel?

elsewise, versuchen mit Hilfe von CSS/re- aktivieren die Grenzen:

<table style="border: 1px solid #000;"> <!-- or use a stylesheet, or style block, obviously --> 

Haben Sie überprüft, dass Sie eine standardkonforme doctype declaration, verwenden und nicht in Macken-Modus zu verfallen?

+1

Das 'border' Attribut akzeptiert nur Pixelbreiten ohne ein Suffix. (Einige Browser akzeptieren es vielleicht, aber ich würde mich nicht darauf verlassen.) –

+0

... seit den Standards Wars ist mein Table-Fu schwach geworden. Upvoted, Ben, danke für die Korrektur. –

0

ein paar Möglichkeiten, standardkonforme keine Grenze in CSS angeben sind:

border-width: 0; border-style: keine;

Tabellenelemente, td-Elemente und th-Elemente akzeptieren alle Rahmen, so dass ein sicherer Weg, um überhaupt keine Grenzen zu schaffen, Tabelle, td, th {border-style: none;} wäre.

table {border-collapse: collapse;} ist ein rein CSS Weise Abstand zwischen Zellen

Prüfung der Entfernung aus w3schools.com oder w3.org für standardkonforme CSS-Tipps

0

Ihre Beispieltabelle hat nichts drin. IE entscheidet, dass es keinen Inhalt hat und zeigt daher nicht das Attribut "border =" 1 "an.

Zurücksetzen mit

table { 
    border:none; 
} 

Dann nutzen:

<table style="border:solid 1px #000;> 
<tr><td>x</td></tr> 
</table>