[CSS2] FF + Moz ondersteunen width niet voor span?

Pagina: 1
Acties:

  • Mx. Alba
  • Registratie: Augustus 2001
  • Laatst online: 26-05 15:17

Mx. Alba

hen/hun/die/diens

Topicstarter
Het gaat om de volgende testcase: http://forum-integration.info/nouveau/

In het menu wil ik de eerste drie letters wit op zwart hebben, en de rest zwart op wit. Dat doe ik zo:

HTML:
1
2
<a href="blaat"><span class="left">acc</span><span class="right">ueil</span></a>
<a href="blaat"><span class="left">ann</span><span class="right">onces</span></a>


Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
a {
  display: block;
}
span.left {
  width: 50px;
  text-align: right;
}
span.right {
  text-align: left;
}


En ook schijnen in FF die twee spans geen link-eigenschappen meer te hebben. Klikken erop doet niets, en de a:hover en a:active doen het ook niet... En toch is het allemaal validerende XHTML en CSS2. Ik dacht dat Moz en FF zo standards compliant waren? :?

[ Voor 13% gewijzigd door Mx. Alba op 30-03-2004 11:14 ]

Het is alleen een echte hetze als het uit Hetzerath komt, anders is het gewoon sprankelende ophef.


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
Spans mogen geen width meekrijgen volgens de standaard.

* Grijze Vos zoekt et ff voor je op...

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Verwijderd

Inline elementen kennen geen width, oplossing:
code:
1
2
3
span {
    display:block;
}

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
Verwijderd schreef op 30 maart 2004 @ 11:16:
Inline elementen kennen geen width, oplossing:
code:
1
2
3
span {
    display:block;
}
En waarom zou je dan span gebruiken ipv div? Als je span toch gaat laten renderen als een div...

voor de TS:
W3C CSS2 Specs
10.3.1 Inline, non-replaced elements

The 'width' property does not apply. A specified value of 'auto' for 'left', 'right', 'margin-left' or 'margin-right' becomes a computed value of '0'.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Verwijderd

Grijze Vos schreef op 30 maart 2004 @ 11:19:
En waarom zou je dan span gebruiken ipv div? Als je span toch gaat laten renderen als een div...
dat weet ik niet, dat moet je aan de Topic starter vragen

  • Mx. Alba
  • Registratie: Augustus 2001
  • Laatst online: 26-05 15:17

Mx. Alba

hen/hun/die/diens

Topicstarter
Als een span geen width mag hebben, waarom vind de CSS validator van W3C het dan wel goed?

Mijn reden om spans te gebruiken, en niet divs, is dat divs "verkeerd" gerenderd worden zonder stylesheet. Search engines en andere non-CSS-browsers en -robots zullen het met spans veel beter begrijpen dan met divs...

Het is alleen een echte hetze als het uit Hetzerath komt, anders is het gewoon sprankelende ophef.


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
Als je een lettertype als courier kiest, waarbij de letters allemaal even lang zijn, dan is dit wel een oplossing:

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<HTML>
  <HEAD>
    <TITLE>test</TITLE>
    <STYLE>
      ul {
        margin: 0px;
        padding: 0px;
        list-style-type: none;
        line-height: 100%;
        font-family: courier;
      }
      li a {
        color: black;
        background-color: white;
        text-decoration: none;
      }      
      li a span {
        color: white;
        background-color: black;
      }
    </STYLE>
  </HEAD>
  <BODY>
    <UL>
      <LI><a href="#"><SPAN>BLA</SPAN>AT</a>
      <LI><a href="#"><SPAN>bla</SPAN>at</a>
      <LI><a href="#"><SPAN>gat</SPAN>hering</a>
      <LI><a href="#"><SPAN>WWW</SPAN>WWW</a>
    </UL>  
  </BODY>
</HTML>


zo ff snel opgeklopt....

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Verwijderd

En waarom zou je dan span gebruiken ipv div? Als je span toch gaat laten renderen als een div...
SPAN en DIV is een grijs gebied. Vooral omdat beide geen semantische waarde hebben. Wellicht wordt het duidelijker met zo'n voorbeeld:
code:
1
2
3
4
5
6
table{
 display:block;
}
h1{
 display:table-cell;
}
In het eerste geval heb ik gewoon een data tabel, correct volgens semantische regels et cetera, maar ik wil hem er totaal anders (_visueel gezien_) uit laten zien, daarom gebruik ik 'display:block'. Ik verander dus alleen het visuele uiterlijk van de tabel, niet de waarde die de tabel aan de inhoud geeft.

Bij het tweede voorbeeld is dat precies zo. Het is gewoon een doodnormale header, maar omdat ik er bepaalde dingen op wil loslaten, zoals 'vertical-align' laat ik de header eruitzien, alsof het een TD is, maar die gebruik ik niet.

  • Rickets
  • Registratie: Augustus 2001
  • Niet online

Rickets

Finger and a shift

Mx. Alba schreef op 30 maart 2004 @ 11:33:
Als een span geen width mag hebben, waarom vind de CSS validator van W3C het dan wel goed?
Je mag een span best een width geven, deze moet alleen niet toegepast worden.

If some cunt can fuck something up, that cunt will pick the worst possible time to fucking fuck it up, because that cunt’s a cunt.


Verwijderd

http://www.w3.org/TR/2004...t.html#the-width-property
quote: CSS 2.1
Applies to: all elements but non-replaced inline elements, table rows, and row groups
En inderdaad. SPAN is, standaard, inline en non-replaced (IMG is een voorbeeld van replaced, inline).

  • InZane
  • Registratie: Oktober 2000
  • Laatst online: 10:06
Grijze Vos schreef op 30 maart 2004 @ 11:33:
Als je een lettertype als courier kiest, waarbij de letters allemaal even lang zijn, dan is dit wel een oplossing:

HTML:
1
knip


zo ff snel opgeklopt....
Aaargh, die hoofdletters :X

  • Mx. Alba
  • Registratie: Augustus 2001
  • Laatst online: 26-05 15:17

Mx. Alba

hen/hun/die/diens

Topicstarter
Maar ik wil niet Courrier gebruiken... Ik wil Lucida Console gebruiken, die niet op alle systemen aanwezig is, vandaar dat ik ook Lucida Sans Typewriter, OCR A Extended, Biwidth en enkele andere non-Windows-fonts gedefiniëerd heb. Wat ik wil doen, is dus centreren op de grens tussen het derde en het vierde karakter... Kennelijk is dat dus alleen met divs te doen, maar dan worden de links onleesbaar zonder stylesheets ;(

Het is alleen een echte hetze als het uit Hetzerath komt, anders is het gewoon sprankelende ophef.


Verwijderd

Ik dacht dat Moz en FF zo standards compliant waren?
Fout ligt dus meestal bij jezelf. Het lijkt me ook handiger om daar in het vervolg vanuit te gaan ;)

Niet compleet getest, maar ik heb het gevoel dat zoiets mogelijk zou kunnen werken:
code:
1
2
3
4
5
span{
 display:block;
 float:left;
 width:50px;
}
En anders iets in deze richting (bijvoorbeeld twee keer een SPAN gebruiken, beide 'display:block' en meer 1 floaten).

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
InZane schreef op 30 maart 2004 @ 11:57:
[...]


Aaargh, die hoofdletters :X
Wat is daar het probleem mee? Kwestie van wat je gewend bent...

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Verwijderd

Grijze Vos schreef op 30 maart 2004 @ 12:22:
Wat is daar het probleem mee? Kwestie van wat je gewend bent...
In XHTML is het niet toegestaan, dus niet alleen een kwestie van wat je gewend bent :)
XHTML documents must use lower case for all HTML element and attribute names. This difference is necessary because XML is case-sensitive e.g. <li> and <LI> are different tags.

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
Ik heb tot nu toe nog geen xhtml gebruikt. Kzal er iig rekening mee houden als ik dat doe. ;)

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • Mx. Alba
  • Registratie: Augustus 2001
  • Laatst online: 26-05 15:17

Mx. Alba

hen/hun/die/diens

Topicstarter
Verwijderd schreef op 30 maart 2004 @ 12:08:
Fout ligt dus meestal bij jezelf. Het lijkt me ook handiger om daar in het vervolg vanuit te gaan ;)
Daar ben ik nu ook achter ja :) Maar toch ben ik op een écht mozillabugje gestuit ook, toen Moz en FF alleen maar een witte pagina lieten zien. Foute clipping, op te lossen door html en body expliciet een width en height mee te geven... Dus zelfs Mozilla is niet heilig O-) })
Niet compleet getest, maar ik heb het gevoel dat zoiets mogelijk zou kunnen werken:
code:
1
2
3
4
5
span{
 display:block;
 float:left;
 width:50px;
}
En anders iets in deze richting (bijvoorbeeld twee keer een SPAN gebruiken, beide 'display:block' en meer 1 floaten).
_o_ _o_ Thx!

Ik ga vanmiddag eens iets in die richting proberen.

Het is alleen een echte hetze als het uit Hetzerath komt, anders is het gewoon sprankelende ophef.


Verwijderd

Foute clipping, op te lossen door html en body expliciet een width en height mee te geven... Dus zelfs Mozilla is niet heilig
Ik had het gelezen ja. Was inderdaad een bug rond 1.4/1.6 is inmiddels al gefixed. Komt omdat Mozilla 'overflow' op het BODY element zelf hield en niet overzette naar de 'viewport'. Want het BODY element zelf had geen hoogte (alles was absoluut gepositioneerd) en daarom kon er ook niks overheen ("overflowen").

Is inmiddels gefixed (maar dit geld dus alleen voor text/html documenten).

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 26-05 19:49

RM-rf

1 2 3 4 5 7 6 8 9

is overigens de propertie display: inline-block; al in Mozilla geimplementeerd?
dat zou dé oplossing zijn voor dit soort problemen...

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Verwijderd

Nee, gaat ook nog wel een tijdje duren vrees ik (Opera en Safari hebben wel ondersteuning als ik me niet vergis).

  • Mx. Alba
  • Registratie: Augustus 2001
  • Laatst online: 26-05 15:17

Mx. Alba

hen/hun/die/diens

Topicstarter
display: block; en float: left; lossen idd het probleem op, thx Anne! Maar nu zit er een pixeltje ruimte tussen de twee spans, terwijl bij beide padding en margin 0 zijn, en border none...

Het is alleen een echte hetze als het uit Hetzerath komt, anders is het gewoon sprankelende ophef.


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Mx. Alba schreef op 30 maart 2004 @ 14:55:
display: block; en float: left; lossen idd het probleem op, thx Anne! Maar nu zit er een pixeltje ruimte tussen de twee spans, terwijl bij beide padding en margin 0 zijn, en border none...
Heb je een voorbeeldje online staan. 't zou wellicht (het ontbreken aan) een
clear: both | left | right issue kunnen zijn

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Mx. Alba
  • Registratie: Augustus 2001
  • Laatst online: 26-05 15:17

Mx. Alba

hen/hun/die/diens

Topicstarter

Het is alleen een echte hetze als het uit Hetzerath komt, anders is het gewoon sprankelende ophef.


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Mx. Alba schreef op 30 maart 2004 @ 14:55:
display: block; en float: left; lossen idd het probleem op, thx Anne! Maar nu zit er een pixeltje ruimte tussen de twee spans, terwijl bij beide padding en margin 0 zijn, en border none...
Waarin test je dit, want IE doet het goed en Mozilla doet helemaal niks :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Mx. Alba
  • Registratie: Augustus 2001
  • Laatst online: 26-05 15:17

Mx. Alba

hen/hun/die/diens

Topicstarter
IE5.5 heb ik hier alleen maar, en daarin zie ik het volgende:
Afbeeldingslocatie: http://forum-integration.info/imgs/screenshot.png

Er zit dus een beetje ruimte tussen de span.left en de span.right...

Het is alleen een echte hetze als het uit Hetzerath komt, anders is het gewoon sprankelende ophef.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Mx. Alba schreef op 30 maart 2004 @ 16:07:
IE5.5 heb ik hier alleen maar, en daarin zie ik het volgende:
[afbeelding]

Er zit dus een beetje ruimte tussen de span.left en de span.right...
da's weer de bekende IE-3pixel-bug...

Intentionally left blank


  • Mx. Alba
  • Registratie: Augustus 2001
  • Laatst online: 26-05 15:17

Mx. Alba

hen/hun/die/diens

Topicstarter
grmbl... Handig zeg, standaarden, als iedereen ze anders interpreteert :(

Het is alleen een echte hetze als het uit Hetzerath komt, anders is het gewoon sprankelende ophef.

Pagina: 1