|
| Er der en god ide til 'tomme' <img> Fra : Stig Johansen |
Dato : 15-11-09 11:48 |
|
Hej.
Jeg er efterhånden kommet lidt rundt omkring, men jeg mangler lige det
sidste, med en tom <img>.
(det har nok noget med IE at gøre).
Jeg har den her billedoversigt, eller galleri - eks.
http://w-o-p-r.dk/gallery/gallery.show.this.asp?GalleryOwner=sletmig&Gallery
Name=navn&Picturenumber=7
Der opererer jeg med en 'filmstrimmel', hvor der godt kan være tomme
pladser, da der skal være plads til skift via JS.
Indledningsvis har jeg sat baggrunden til blå, og det viser FF også fint
nok,
og samtidig undlader at vise et 'tomt' billede'.
IE derimod 'lader som om' der er et billede (dog med et kryds), og ved hover
kommer der en 'zoombox', dog uden indhold.
Kan man (af hensyn til IE) lave et eller andet, så det ikke sker?
Eller med andre ord, findes der en metode (til IE(og måske også andre
browsere)) , så man angiver <img src="der.er.ikke.noget">?
--
Med venlig hilsen/Best regards
Stig Johansen
| |
Birger Sørensen (15-11-2009)
| Kommentar Fra : Birger Sørensen |
Dato : 15-11-09 12:48 |
|
Stig Johansen:
> Hej.
>
> Jeg er efterhånden kommet lidt rundt omkring, men jeg mangler lige det
> sidste, med en tom <img>.
>
> (det har nok noget med IE at gøre).
>
> Jeg har den her billedoversigt, eller galleri - eks.
> http://w-o-p-r.dk/gallery/gallery.show.this.asp?GalleryOwner=sletmig&Gallery
> Name=navn&Picturenumber=7
>
> Der opererer jeg med en 'filmstrimmel', hvor der godt kan være tomme
> pladser, da der skal være plads til skift via JS.
>
> Indledningsvis har jeg sat baggrunden til blå, og det viser FF også fint
> nok,
> og samtidig undlader at vise et 'tomt' billede'.
>
> IE derimod 'lader som om' der er et billede (dog med et kryds), og ved hover
> kommer der en 'zoombox', dog uden indhold.
>
> Kan man (af hensyn til IE) lave et eller andet, så det ikke sker?
>
> Eller med andre ord, findes der en metode (til IE(og måske også andre
> browsere)) , så man angiver <img src="der.er.ikke.noget">?
I FF skal den vise alt-teksten, hvis der ikke er noget billede, og
sommetider beklager den sig hvis alt er tom; men hvis der ikke er noget
billede må det vel være OK.
Hvis du skrev f.eks. 'mangler' som alt på de billeder, bliver teksten
'mangler' skrevet i stedet for billedet. Det virker i FF (og måske
andre) men ikke i IE - den viser det lille røde kryds. IE skriver title
('no picture') på de tomme billeder - men hvis du ikke angiver title,
bruger den også alt til det (måske ikke IE8 - men op til og med IE7 var
det sådan).
IE har en indstilling for "placeholders til billeder", og jeg mener det
er den der skal disables, for at fjerne det røde kryds. Men det kan du
ikke - det er en brugerindstilling.
Så - et tomt billede /Fotografen_er_på_vej/ agtigt, der indsættes i
stedet for ikke eksisterende billeder?
Man kan i PHP, afgøre om en given fil eksisterer - så kan man vel også
i ASP?
Man kunne desuden udelade mouseover og click på de billeder der ikke er
der.
FYI : I det tredie billede - tn3 - er der defineret "margin-top:
-10px;" 2 gange i inline HTML...
Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk
| |
Philip Nunnegaard (15-11-2009)
| Kommentar Fra : Philip Nunnegaard |
Dato : 15-11-09 13:25 |
|
Birger Sørensen skrev:
> men hvis du ikke angiver title,
> bruger den også alt til det (måske ikke IE8 - men op til og med IE7 var
> det sådan).
Helt rigtigt. IE8 behandler title og alt på samme måde som Firefox. Dvs.
den viser ikke alt-teksten som title, selvom der ikke er angivet nogen
title.
Men den viser stadig det der grimme røde kryds.
| |
Birger Sørensen (15-11-2009)
| Kommentar Fra : Birger Sørensen |
Dato : 15-11-09 14:13 |
|
Philip Nunnegaard udtrykte præcist:
> Birger Sørensen skrev:
>
>> men hvis du ikke angiver title, bruger den også alt til det (måske ikke IE8
>> - men op til og med IE7 var det sådan).
>
> Helt rigtigt. IE8 behandler title og alt på samme måde som Firefox. Dvs. den
> viser ikke alt-teksten som title, selvom der ikke er angivet nogen title.
> Men den viser stadig det der grimme røde kryds.
OK. Var ikke sikker. Men eftersom IE7 gør det, er man stadig nødt til
særbehandling i IE for at overholde standarder. Hvis man altså tager
højde for forældede browsere ...
Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk
| |
Stig Johansen (15-11-2009)
| Kommentar Fra : Stig Johansen |
Dato : 15-11-09 18:30 |
|
Birger Sørensen wrote:
> Så - et tomt billede /Fotografen_er_på_vej/ agtigt, der indsættes i
> stedet for ikke eksisterende billeder?
Det var det, jeg helst ville undgå, fordi så skal jeg generere det hver
gang.
Det er lavet sådan, så man opretter et tomt galleri, med et prædefineret
antal billeder pr. 'klods', så af hensyn til skift via javascript, så har
jeg brug for de tomme pladser.
I det nævnte eksempel er der defineret 3 billeder pr. klods, og p.t. 7
billeder, så der vises 3+3+1(+2 tomme).
> Man kan i PHP, afgøre om en given fil eksisterer - så kan man vel også
> i ASP?
Nu er det databasedrevet, og ikke fil drevet, men jo - og det var netop hvad
jeg skulle skrive, når der ikke er noget billede (på de resterende tomme
pladser).
> Man kunne desuden udelade mouseover og click på de billeder der ikke er
> der.
Det er også lidt svært, for ved skift af klods (hvor billeder eksisterer),
skal der være tilhørende mouseover og click.
> FYI : I det tredie billede - tn3 - er der defineret "margin-top:
> -10px;" 2 gange i inline HTML...
He - det er squ godt gjort, at du skal finde programfejl :)
Ved udskrift af tomme pladser genbrugte jeg den sidste margin, og den ville
blive duplikeret lige så mange gange som der er tomme pladser.
Det er nu rettet - tak, og godt set.
Jeg har imidlertid fundet en løsning, og set i bakspejlet er den åbenlys,
men det er ikke altid man tænker klart.
Jeg sætter bare display:none på de <img>, der ikke eksisterer, så vises
billedet ikke, og dermed heller ikke mouseover og click.
--
Med venlig hilsen
Stig Johansen
| |
Birger Sørensen (15-11-2009)
| Kommentar Fra : Birger Sørensen |
Dato : 15-11-09 19:27 |
|
Stig Johansen formulerede spørgsmålet:
8X
> Jeg har imidlertid fundet en løsning, og set i bakspejlet er den åbenlys,
> men det er ikke altid man tænker klart.
>
> Jeg sætter bare display:none på de <img>, der ikke eksisterer, så vises
> billedet ikke, og dermed heller ikke mouseover og click.
Det er for nemt. Det kan ikke være rigtigt.
Kender den godt
Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk
| |
Rune Jensen (15-11-2009)
| Kommentar Fra : Rune Jensen |
Dato : 15-11-09 20:31 |
|
Stig Johansen skrev:
> Jeg sætter bare display:none på de <img>, der ikke eksisterer, så vises
> billedet ikke, og dermed heller ikke mouseover og click.
Du kan sætte sætte en generel automatisk CSS-egenskab (i din main CSS
for siden) for billeder, som ikke findes. Denne egenskab kan sættes via
CSS2.1 attr, som forstås af IE8+IE7, men desværre ikke IE6.
Anyways...
img[src~="thumb_0.gif"]{
display; none;
}
forudsætter, at SRC-attributten indeholder strengen "thumb_0.gif", og
hvis den gør. sættes elementets diplay-egenskanb til none.
Hvis det er elementet udenom, som i stedet skal have en egenskab, lægger
man bare det til i CSSen:
div img[src~="thumb_0.gif"]{
display; none;
}
Hvis det skal virke for IE6, ved jeg så ikke hvad man skal gøre...
Hvis man laver det unobtrusive, så kan (formoder jeg) JS-funktionerne
til thumbnailsne lægges på samme måde. Altså kun tildele funktioner til
de billeder, som ikke har thumb_0.gif i SRC.
Jeg ved egentlig ikke, om det er brugbart, når IE6 ikke tages hensyn
til, men det var bare sjovt lige at vide (for mig), om det kunne lade
sig gøre med CSS.
MVH
Rune Jensen
| |
Rune Jensen (15-11-2009)
| Kommentar Fra : Rune Jensen |
Dato : 15-11-09 20:34 |
|
Rune Jensen skrev:
> Jeg ved egentlig ikke, om det er brugbart, når IE6 ikke tages hensyn
> til, men det var bare sjovt lige at vide (for mig), om det kunne lade
> sig gøre med CSS.
JFTR compatibility-sheet:
http://www.quirksmode.org/css/selector_attribute.html
MVH
Rune Jensen
| |
Stig Johansen (16-11-2009)
| Kommentar Fra : Stig Johansen |
Dato : 16-11-09 00:22 |
|
Rune Jensen wrote:
> forudsætter, at SRC-attributten indeholder strengen "thumb_0.gif", og
> hvis den gør. sættes elementets diplay-egenskanb til none.
Det gør den - indeholder "thumb_0.gif", der sætter jeg initielt display:none
på.
> Hvis man laver det unobtrusive, så kan (formoder jeg) JS-funktionerne
> til thumbnailsne lægges på samme måde.
Den vil hedde det samme, for det bliver hentet fra serveren via Ajax.
display attributten bliver derimod sat/fjernet vha. JS
Det betyder ikke så meget om det er CSS eller JS, for det giver kun mening
hvis man har JS enabled, og dermed kan skifte 'klods' via Ajax.
--
Med venlig hilsen
Stig Johansen
| |
Allan Vebel (16-11-2009)
| Kommentar Fra : Allan Vebel |
Dato : 16-11-09 00:42 |
|
Stig Johansen skrev:
> Eller med andre ord, findes der en metode (til
> IE(og måske også andre browsere)) , så man
> angiver <img src="der.er.ikke.noget">?
Ja, jeg opererer altid med tom.gif - det er en fil
på 42 bytes der indeholder en transparent gif på
10x10 pixels, der ikke indeholder noget som helst.
Den kan skaleres til hvad du vil, og bruges til en
masse ting.
Du kan "se" den på http://html-faq.dk/b/tom.gif!
--
Allan Vebel
http://vebel.dk | http://html-faq.dk
| |
|
|