Avatar billede Slettet bruger
09. december 2005 - 12:04 Der er 12 kommentarer og
1 løsning

Kan denne kode omskrives, så den kan valideres korrekt?

Hejsa.

Sidder her og overvejer om jeg kan bruge denne kode til en menu - men et krav er, at den skal kunne valideres korrekt, og det kan den ikke.
Men måske kan den omskrives, så den alligevel kan valideres?

Her er linket til koden:
http://youngpup.net/_projectDirectories/transmenus/demos/photos/index.html

Og her er linket til valideringen:
http://jigsaw.w3.org/css-validator/validator?profile=css2&warning=2&uri=http%3A//youngpup.net/_projectDirectories/transmenus/demos/photos/index.html

Hvem kan hjælpe med at løse problemet?
Avatar billede Slettet bruger
09. december 2005 - 12:08 #1
...det var nok en god iden, hvis jeg postede selve kildekoden...  :-/

/* this is the clipping region for the menu. it's width and height get set by script, depending on the size of the items table */
.transMenu {
    position:absolute;
    overflow:hidden;
    left:-1000px;
    top:-1000px;
    }

/* this is the main container for the menu itself. it's width and height get set by script, depending on the size of the items table */
.transMenu .content {
    position:absolute;
    }

/* this table comprises all menu items. each TR is one item. It is relatively positioned so that the shadow and background transparent divs can be positioned underneath it */
.transMenu .items {
    position:relative;
    left:0px; top:0px;
    z-index:2;
    }

.transMenu.top .items {
    border-top:none;
    }

/* each TR.item is one menu item */
.transMenu .item {
    color:#336;
    font-size:10px;
    font-family:sans-serif;
    text-decoration:none;
    /* this is a hack for mac/ie5, whom incorrectly cascades the border properties of the parent table to each row */
    border:none;
    cursor:pointer;
    cursor:hand;
    }

/* this DIV is the semi-transparent white background of each menu. the -moz-opacity is a proprietary way to get transparency in mozilla, the filter is for IE/windows 5.0+. */
/* we set the background color in script because ie mac does not use it; that browser only uses a semi-transparent white PNG that the spacer gif inside this DIV is replaced by */
.transMenu .background {
    position:absolute;
    left:0px; top:0px;
    z-index:1;
    -moz-opacity:.8;
    filter:alpha(opacity=80);
    }

/* same concept as .background, but this is the sliver of shadow on the right of the menu. It's left, height, and background are set by script. In IE5/mac, it uses a PNG */
.transMenu .shadowRight {
    position:absolute;
    z-index:3;
    top:3px; width:2px;
    -moz-opacity:.4;
    filter:alpha(opacity=40);
    }

/* same concept as .background, but this is the sliver of shadow on the bottom of the menu. It's top, width, and background are set by script. In IE5/mac, it uses a PNG */
.transMenu .shadowBottom {
    position:absolute;
    z-index:1;
    left:3px; height:2px;
    -moz-opacity:.4;
    filter:alpha(opacity=40);
    }

/* this is the class that is used when the mouse is over an item. script sets the row to this class when required. */
.transMenu .item.hover {
    background:#fdfdfd;
    color:black;
    }

/* this is either the dingbat that indicates there is a submenu, or a spacer gif in it's place. We give it extra margin to create some space between the text and the dingbat */
.transMenu .item img {
    margin-left:10px;
    }


Link:
http://youngpup.net/_projectDirectories/transmenus/transmenu.css
Avatar billede mm12010 Nybegynder
09. december 2005 - 12:21 #2
-moz-opacity og filter:alpha(opacity=) browser-specifikke og er ikke del af standarden derfor ville de aldrig kunne valideres

cursor:hand; kan slettes og så den evt sættes med javascript til de enkelte browsere der ikke kan tolke 'pointer' - mener faktisk kun at det er de tidlige opera
Avatar billede Slettet bruger
09. december 2005 - 12:29 #3
mm12010:
Men kan man så ikke bare lave den samme effekt på en anden måde, tror du?

Vedr. cursor:hand, er det mindre vigtigt.
Avatar billede mm12010 Nybegynder
09. december 2005 - 12:33 #4
du kan style elementerne via javascript, men det er der sådan set ingen grund til, for css-specifikationen siger at det browseren ikke forstår skal den bare ignorerer - validatoren er altså ikke endegyldigt det eneste svar, men nærmere en styrepind i de fleste sammenhænge...
Avatar billede Slettet bruger
09. december 2005 - 12:41 #5
*ØV*
Nå, men altså: -moz-opacity og filter:alpha(opacity=) er kun for IE... Tja, det kunne jeg (næsten) havde sagt mig selv... :-)

Men læg venligst et svar, så jeg kan tildele dig points, mm12010.
Avatar billede mm12010 Nybegynder
09. december 2005 - 12:46 #6
-moz-opacity er Mozilla og filter:alpha(opacity=) er IE
Avatar billede Slettet bruger
09. december 2005 - 12:49 #7
...men så forstår jeg ikke, at -moz-opacity og filter:alpha(opacity=) alligevel vises med en gennemsigtighed i FF?
Har du selv set http://youngpup.net/_projectDirectories/transmenus/demos/photos/index.html i FF?
Avatar billede mm12010 Nybegynder
09. december 2005 - 12:58 #8
altså -moz-opacity virker kun i FF og filter:alpha(opacity=) virker kun i IE - derfor vises menuen med gennemsigtighed i begge
Avatar billede Slettet bruger
09. december 2005 - 13:22 #9
Nå, for søren! Din besked "09/12-2005 12:46:53" var smuttet ind, før jeg selv havde besvaret dig - derfor nåede jeg ikke at læse dig indlæg, mm12010.

Jeg takker for dit svar, mm12010!  :-)
Avatar billede mm12010 Nybegynder
09. december 2005 - 13:27 #10
velbekomme - og tak for point :-)
Avatar billede Slettet bruger
09. december 2005 - 17:50 #11
Avatar billede Slettet bruger
09. december 2005 - 18:35 #12
Der findes også en, der bare hedder opacity, og den virker også i Mozilla-baserede browsere. Det skulle ikke undre mig, hvis den også virker i Opera og Safari.

Og jeg vil nærmest sige, at det er en fejl i validatoren, at den kommer med en egentlig fejl over -moz-opacity. I stedet burde den have givet en advarsel i stil med "Unknown vendor-specific attribute".
Avatar billede knudgert Nybegynder
11. december 2005 - 01:30 #13
Opera understøtter ikke opacity/gennemsigtighed på nogen måde.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester