width= funktioniert bei <span> nicht
Henning Kröger
- css
0 MudGuard0 Sven Rautenberg0 Dogfish
Hallo,
habe folgende HTML-Seite:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
<title>Working Title</title>
<link rel="stylesheet" type="text/css" href="inc/elite.css">
</head>
<body>
<div class="logo">logo</div>
<div class="interface">
<span class="navmain">navigation</span>
<span class="userinfo">userinfo</span>
</div>
</body>
</html>
Dazu passend folgendes Stylesheet elite.css:
body{
background-image: url(../images/bg.gif);
margin: 10px 0px 0px 0px;
text-align: center;
}
div.logo{
border-width: 1px;
border-style: solid;
border-color: blue;
padding: 0px;
width: 600px;
}
div.interface{
border-top-width: 0px;
border-bottom-width: 1px;
border-left-width: 1px;
border-right-width: 1px;
border-style: solid;
border-color: blue;
padding: 0px;
text-align: left;
width: 600px;
}
span.navmain{
border-top-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-right-width: 1px;
border-style: solid;
border-color: red;
padding: 0px;
width: 200px;
}
span.userinfo{
border-top-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-right-width: 1px;
border-style: solid;
border-color: green;
padding: 0px;
width:200px;
}
###############################################
Beides ist validiert vom W3C. Folgendes Problem: Die <span>-Elemente werden nicht 200px breit angezeigt (wie im CSS-File definiert), sondern sind nur so breit, dass der Text (z.B. "userinfo" hineinpasst). Als normales Inline-Element müsste <span> doch so formatierbar sein, oder?
Hoffentlich nur irgendein blöder Fehler von mir.
Freue mich auf Antworten,
mfg
Henning Kröger
Hi,
habe folgende HTML-Seite:
Beides ist validiert vom W3C. Folgendes Problem: Die <span>-Elemente werden nicht 200px breit angezeigt (wie im CSS-File definiert), sondern sind nur so breit, dass der Text (z.B. "userinfo" hineinpasst). Als normales Inline-Element müsste <span> doch so formatierbar sein, oder?
Ok, Du hast also schon erkannt, daß span ein inline-Element ist.
Und auf welche Elemente ist width anwendbar?
Genau, auf
"all elements but non-replaced inline elements, table rows, and row groups"
replaced inline elements sind IMG, INPUT, TEXTAREA, SELECT, und OBJECT. Alle anderen inline-Elemente sind "non-replaced".
span ist also ein non-replaced inline Element und kennt daher die Property width nicht.
Andreas
Ok, vielen Dank für alle Antworten!
mfg
Henning
Moin!
Beides ist validiert vom W3C. Folgendes Problem: Die <span>-Elemente werden nicht 200px breit angezeigt (wie im CSS-File definiert), sondern sind nur so breit, dass der Text (z.B. "userinfo" hineinpasst). Als normales Inline-Element müsste <span> doch so formatierbar sein, oder?
Ein normales Inline-Element ist immer nur so breit, wie es ist. Wenn du eine Breite definieren willst, nimm ein Block-Element, oder mach das span zu einem Blockelement (display:block). Bedenke aber, dass Blockelemente eben anders angezeigt werden, als Inline-Elemente.
- Sven Rautenberg
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Hallo du da draußen,
!!!
Sag's doch gleich. Das behebt mein 1. Problem im Posting nach diesem
Danke von hier drinnen,
Dogfish