Z-ordning

Z-order är en ordning av överlappande tvådimensionella objekt, till exempel fönster i en staplingsfönsterhanterare , former i en vektorgrafikredigerare eller objekt i en 3D-applikation. En av funktionerna i ett typiskt GUI är att fönster kan överlappa varandra, så att ett fönster döljer delar av eller hela ett annat. När två fönster överlappar varandra avgör deras Z-ordning vilken som visas ovanpå den andra.

Definition

Termen "Z-ordning" hänvisar till ordningen av objekt längs Z-axeln. I koordinatgeometri hänvisar X vanligtvis till den horisontella axeln (vänster till höger), Y till den vertikala axeln (upp och ner), och Z hänvisar till axeln vinkelrät mot de andra två (framåt eller bakåt). Man kan tänka på fönstren i ett GUI som en serie plan parallella med skärmens yta. Fönstren staplas därför längs Z-axeln, och Z-ordningsinformationen anger alltså ordningen framifrån och bakåt av fönstren på skärmen. En analogi skulle vara några pappersark utspridda ovanpå ett bord, där varje ark är ett fönster, bordet din datorskärm och det översta arket har det högsta Z-värdet.

Använda sig av

Vanligtvis kan användare av ett GUI påverka Z-ordningen genom att välja ett fönster som ska placeras i förgrunden (det vill säga "ovanför" eller "framför" alla andra fönster). Vissa fönsterhanterare tillåter interaktion med fönster medan de inte är i förgrunden, medan andra kommer att ta fram ett fönster närhelst det får input från användaren. Det är också möjligt att specialfönster betecknas "alltid ovanpå"; dessa fixeras sedan till toppen av Z-ordningen så att (med få undantag) inget annat fönster kan överlappa dem.

När man hanterar visuella objekt på en datorskärm, skulle ett objekt med Z-ordningen 1 vara visuellt "under" ett objekt med Z-ordningen 2 eller högre. Detta är samma sak som att göra "lager" av objekt där Z-ordningen avgör vilket objekt som ligger ovanpå ett annat. En HTML-sida kan använda CSS för att specificera Z-ordningen så att vissa objekt kan läggas över andra.

Z-ordning används också i 3D-applikationer för att bestämma objekts synlighet baserat på överlappning från andra objekt. Detta ger användaren en hastighetsfördel eftersom datorn inte behöver rendera osynliga objekt. I praktiken kan naturligtvis vissa föremål endast delvis skymmas, och det är en komplikation som måste beaktas.

z-index

Det faktiska numret som tilldelas en viss plats i Z-ordningen kallas ibland för z-index. Speciellt CSS- egenskapen som anger stackordningen för specifika element kallas z-index. Ett element med större stackordning ligger alltid framför ett annat element med lägre stackordning.

 
   
   
 p  {  position  :  relativ  ;  z-index  :  -1  ;  } 

Negativa stackorder kan också användas på samma sätt. Ett negativt värde visas bakom ett positivt. z-index fungerar bara på element som har ett positionsvärde (t.ex. position: relativ; ) och för många kodare är detta en av de första sakerna att undersöka när man felsöker varför z-index inte fungerar.

Liksom alla andra CSS-egenskaper kan den även ställas in med JavaScript med följande syntax:

  objekt  .  stil  .  zIndex  =  '1'  ; 

Se även