WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   croppa med css clip (https://www.wn.se/forum/showthread.php?t=35539)

martine 2009-03-05 11:05

Jag använder css:s clip: rect(a b c d); för att klippa bort det som inte ska synas av en js-meny när den åker fram och tillbaks vilket fungerar fint. Nu vill jag dessutom skapa undermenyer och för att detta ska fungera måste jag återställa clip till att inte klippa (eftersom undermenyn annars bli avklippt). Detta fungerar finfint i Firefox med:
clip: auto;
vilket återställer klippningen och låter elementet fungera som vanligt. Detta är vad som ska användas enligt specifikationen i css. I Safari har jag upptäckt att auto inte ger önskat resultat - Safari tolkar det som att jag fortfarande vill klippa en rektangel, alltså motsvarar clip: rect(auto auto auto auto); vilket inte är detsamma som att låta klippningen skötas automatiskt som normalt för element. Detta måste vara en bugg i Safari misstänker jag. Hursomhelst går det att lösa med clip: inherit; vilket fungerar i Firefox och Safari (eftersom det föregående elementet inte har något clip).

Så långt så väl. I Explorer 7 däremot får jag bara felmeddelanden i js. Explorer accepterar varken auto (som enligt specifikationen vore det riktiga) eller inherit (som också är korrekt, men som bekant inte stöds av IE). För egen del tycker jag att värdet clip: none; vore det mest rimliga men det förekommer inte i specifikationen och fungerar alltså inte i standardwebbläsare.

Så frågan nu är: Hur bär man sig år för att få IE att återställa clip till "none"?

allstars 2009-03-05 11:17

Det kanske inte är svar på din fråga men du kan ju styra IE-specifika stilar med conditional comments.

Kod:

<!--[if IE]>
<style type="text/css">
.myStyle {clip:none;}
/* eller annan stil för att får det att fungera för just IE */
</style>
<![endif]-->


martine 2009-03-05 17:29

Citat:

Originally posted by allstars@Mar 5 2009, 12:17
Det kanske inte är svar på din fråga men du kan ju styra IE-specifika stilar med conditional comments.
Jo, jag tackar. Conditional comments känner jag till. Problemet är bara att jag inte vet vad jag ska säga till Explorer för att få det att fungera:

clip: ?;

För övrigt, har jag nu åtminstone hittat en förklaring till Safaris implementering av auto:
Citat:

The default value of 'clip', 'auto', now indiciates no clipping rather than clipping to the element's border box.
enligt w3c, Safari följer alltså specifikationen för css 2 (vilket då var riktigt) och inte för css 2.1. Någon som vet om detta är rapporterat som en bugg eller om man kan göra detta?

PS2: Har för första gången hittat en länk som beskriver css clip på ett vettigt sätt:
http://www.ibloomstudios.com/articles/misu...stood_css_clip/


Alla tider är GMT +2. Klockan är nu 21:12.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson