Anpassa Interactive Video Viewer customizing-interactive-video-viewer

All visuell anpassning och de flesta beteendeanpassningar för den interaktiva videovisningsprogrammet görs genom att en anpassad CSS skapas.

Det föreslagna arbetsflödet är att ta standard-CSS-filen för rätt visningsprogram, kopiera den till en annan plats, anpassa den och ange platsen för den anpassade filen i style= -kommando.

CSS-standardfiler finns på följande plats:

<s7_viewers_root>/html5/InteractiveVideoViewer_dark.css

Visningsprogrammet levereras med två färdiga CSS-filer, för"ljust" och"mörkt" färgschema. Den"mörka" versionen används som standard, men det är enkelt att växla till den"ljusa" versionen med följande standard-CSS:

<s7_viewers_root>/html5/InteractiveVideoViewer_light.css

Anpassad CSS-fil måste innehålla samma klassdeklarationer som standardklassdeklarationerna. Om en klassdeklaration utelämnas fungerar visningsprogrammet inte korrekt eftersom det inte innehåller inbyggda standardformat för elementen i användargränssnittet.

Ett annat sätt att tillhandahålla anpassade CSS-regler är att använda inbäddade format direkt på webbsidan eller i någon av de länkade externa CSS-reglerna.

Tänk på att visningsprogrammet tilldelar .s7interactivevideoviewer till behållar-DOM-elementet. Om du använder en extern CSS-fil som skickas med style= kommando, använda .s7interactivevideoviewer som överordnad klass i underordnad väljare för dina CSS-regler. Om du gör inbäddade format på webbsidan kvalificerar du den här väljaren med ett ID för behållar-DOM-elementet enligt följande:

#<containerId>.s7interactivevideoviewer

Skapa responsiv CSS section-0bb49aca42d242d9b01879d5ba59d33b

Det är möjligt att rikta in sig på olika enheter och inbäddningsstorlekar i CSS så att innehållet visas på olika sätt beroende på användarens enhet eller en viss webbsideslayout. Den här metoden omfattar, men är inte begränsad till, olika layouter, elementstorlekar i användargränssnittet och bildupplösning.

Visningsprogrammet har stöd för två sätt att skapa responsiv CSS: CSS-markörer och vanliga CSS-mediefrågor. Du kan använda dessa mekanismer oberoende av varandra eller tillsammans.

CSS-markörer

Visningsprogrammet har stöd för CSS-markörer vilket kan vara till hjälp när det gäller att skapa responsiv CSS-kod. Dessa markörer är speciella CSS-klasser. De tilldelas dynamiskt till visningsprogrambehållarelementet på den översta nivån baserat på visningsprogrammets storlek vid körning och den indatatyp som används på den aktuella enheten.

Den första gruppen med CSS-markörer innehåller .s7size_large, .s7size_mediumoch .s7size_small klasser. De tillämpas baserat på visningsbehållarens körningsområde. Om visningsområdet är lika med eller större än storleken på en vanlig skrivbordsskärm, ska du .s7size_large används, om området är nära en vanlig surfplatta, .s7size_medium är tilldelad. För områden som liknar mobiltelefonskärmar .s7size_small är inställt. Det främsta syftet med dessa CSS-markörer är att skapa olika användargränssnittslayouter för olika skärmar och visningsstorlekar.

Den andra gruppen med CSS-markörer innehåller .s7mouseinput och .s7touchinput. Markören .s7touchinput är inställt om den aktuella enheten har funktioner för pekrörelser, i annat fall, .s7mouseinput används. Dessa markörer är främst avsedda att skapa indataelement i användargränssnittet med olika skärmstorlekar för olika indatatyper, eftersom större element normalt krävs för pekrörelser.

Den tredje gruppen med CSS-markörer innehåller .s7device_landscape och .s7device_portrait. Markören .s7device_landscape är inställt om pekenheten är i liggande orientering, .s7device_portrait används när pekenheten roteras till stående orientering. Dessa CSS-markörer är endast avsedda att användas på datorer.

I följande exempel på CSS anges storleken på uppspelnings-/pausknappen till 28 x 28 pixlar på system med musindata och 56 x 56 pixlar på pekenheter. Dessutom döljs knappen helt om visningsprogrammets storlek minskar avsevärt:

.s7interactivevideoviewer.s7mouseinput .s7playpausebutton {
    width:28px;
    height:28px;
}
.s7interactivevideoviewer.s7touchinput .s7playpausebutton {
    width:56px;
    height:56px;
}
.s7interactivevideoviewer.s7size_small .s7playpausebutton {
    visibility:hidden;
}

I det här nästa exemplet är videokontrollfältet 138 pixlar ovanför visningsprogrammets nederkant om pekenheten är i stående orientering. Den flyttas längst ned i visningsprogrammet i alla andra fall:

.s7interactivevideoviewer.s7touchinput.s7device_landscape .s7controlbar,
.s7interactivevideoviewer.s7mouseinput .s7controlbar {
 bottom:0px;
}
.s7interactivevideoviewer.s7touchinput.s7device_portrait .s7controlbar {
 bottom:136px;
}

Om du vill använda enheter med olika pixeldensitet måste du använda CSS-mediefrågor. Följande mediefrågeblock skulle innehålla CSS som är specifikt för skärmar med hög densitet:

@media screen and (-webkit-min-device-pixel-ratio: 1.5)
{
}

Att använda CSS-markörer är det mest flexibla sättet att skapa responsiv CSS eftersom det gör att du inte bara kan ange enhetens skärmstorlek som mål, utan även den faktiska visningsstorleken, vilket är användbart för responsiva designlayouter.

Du kan använda CSS-standardfilen för visningsprogram som ett exempel på en CSS-markörmetod.

CSS-mediefrågor

Du kan också åstadkomma enhetssensning genom att använda rena CSS-mediefrågor. Allt som omges av ett visst mediefrågeblock tillämpas bara när det körs på en motsvarande enhet.

När det används i mobilvisningsprogram används fyra CSS-mediefrågor, som definieras i CSS, i den ordning som anges nedan:

  1. Innehåller endast regler som är specifika för alla beröringsenheter.

    code language-none
    @media only screen and (max-device-width:13.5in) and (max-device-
    height:13.5in) and (max-device-width:799px),
    only screen and (max-device-width:13.5in) and (max-device-height:13.5in)
    and (max-device-height:799px)
    {
    }
    
  2. Innehåller endast regler som är specifika för surfplattor med högupplösta skärmar.

    code language-none
    @media only screen and (max-device-width:13.5in) and (max-device-height:13.5in) and (max-device-width:799px) and (-webkit-min-device-pixel-ratio:1.5),
    only screen and (max-device-width:13.5in) and (max-device-height:13.5in) and (max-device-height:799px) and (-webkit-min-device-pixel-ratio:1.5)
    {
    }
    
  3. Innehåller endast regler som är specifika för alla mobiltelefoner.

    code language-none
    @media only screen and (max-device-width:9in) and (max-device-height:9in)
    {
    }
    
  4. Innehåller endast regler som är specifika för mobiltelefoner med högupplösta skärmar.

    code language-none
    @media only screen and (max-device-width:9in) and (max-device-height:9in) and (-webkit-min-device-pixel-ratio: 1.5),
      only screen and (device-width:720px) and (device-height:1280px) and (-webkit-device-pixel-ratio: 2),
      only screen and (device-width:1280px) and (device-height:720px) and (-webkit-device-pixel-ratio: 2)
    {
    }
    

Med en mediefrågemetod bör du organisera CSS med enhetsavkänning enligt följande:

  • För det första definierar det skrivbordsspecifika avsnittet alla egenskaper som är skrivbordsspecifika eller gemensamma för alla skärmar.
  • För det andra följer de fyra mediefrågorna den ordning som definieras ovan och innehåller CSS-regler som är specifika för motsvarande enhetstyp.

Du behöver inte duplicera hela CSS för visningsprogram i varje mediefråga. Endast egenskaper som är specifika för vissa enheter omdefinieras i en mediefråga.

CSS-fragment section-9b6d8d601cb441d08214dada7bb4eddc

Många visningsgränssnittselement är formaterade med bitmappsbilder och har mer än ett tydligt visuellt läge. Ett bra exempel är en knapp som normalt har minst tre olika lägen: "up", "over" och "down". För varje läge krävs en egen bitmappsbild.

Med en klassisk metod för formatering skulle CSS ha en separat referens till enskilda bildfiler på servern för varje läge i användargränssnittselementet. Nedan följer ett exempel på CSS för formatering av en helskärmsknapp:

.s7interactivevideoviewer.s7mouseinput .s7playpausebutton[selected='true'][state='up'] {
background-image:url(images/v2/PlayButton_up.png);
}
.s7interactivevideoviewer.s7mouseinput .s7playpausebutton[selected='true'][state='over'] {
background-image:url(images/v2/PlayButton_over.png);
}
.s7interactivevideoviewer.s7mouseinput .s7playpausebutton[selected='true'][state='down'] {
background-image:url(images/v2/PlayButton_down.png);
}
.s7interactivevideoviewer.s7mouseinput .s7playpausebutton[selected='true'][state='disabled'] {
background-image:url(images/v2/PlayButton_disabled.png);
}
.s7interactivevideoviewer.s7mouseinput .s7playpausebutton[selected='false'][state='up'] {
background-image:url(images/v2/PauseButton_up.png);
}
.s7interactivevideoviewer.s7mouseinput .s7playpausebutton[selected='false'][state='over'] {
background-image:url(images/v2/PauseButton_over.png);
}
.s7interactivevideoviewer.s7mouseinput .s7playpausebutton[selected='false'][state='down'] {
background-image:url(images/v2/PauseButton_down.png);
}
.s7interactivevideoviewer.s7mouseinput .s7playpausebutton[selected='false'][state='disabled'] {
background-image:url(images/v2/PauseButton_disabled.png);
}
.s7interactivevideoviewer.s7mouseinput .s7playpausebutton[selected='true'][replay='true'][state='up'] {
background-image:url(images/v2/ReplayButton_up.png);
}
.s7interactivevideoviewer.s7mouseinput .s7playpausebutton[selected='true'][replay='true'][state='over'] {
background-image:url(images/v2/ReplayButton_over.png);
}
.s7interactivevideoviewer.s7mouseinput .s7playpausebutton[selected='true'][replay='true'][state='down'] {
background-image:url(images/v2/ReplayButton_down.png);
}
.s7interactivevideoviewer.s7mouseinput .s7playpausebutton[selected='true'][replay='true'][state='disabled'] {
background-image:url(images/v2/ReplayButton_disabled.png);
}

Nackdelen med detta är att slutanvändaren får flimmer eller fördröjt svar i användargränssnittet när elementet interagerar med det för första gången. Den här åtgärden inträffar eftersom bildgrafiken för det nya elementläget inte har hämtats ännu. Den här metoden kan också ha en liten negativ inverkan på prestanda på grund av ett ökat antal HTTP-anrop till servern.

CSS-sprites är en annan metod där bilder för alla elementlägen kombineras till en enda PNG-fil som kallas"sprite". En sådan"sprite" har alla visuella lägen för det angivna elementet placerade efter varandra. När du formaterar ett element i användargränssnittet med sprites refereras samma sprite-bild till för alla olika lägen i CSS. Dessutom background-position -egenskapen används för varje läge för att ange vilken del av"sprite"-bilden som ska användas. Du kan strukturera en"sprite"-bild på ett lämpligt sätt. Visningsprogram har normalt en lodrät stapling. Nedan visas ett"sprite"-baserat exempel på hur du formaterar samma helskärmsknapp tidigare:

.s7interactivevideoviewer .s7fullscreenbutton[state][selected]{
 background-image: url(images/v2/FullScreenButton_dark_sprite.png);
}
.s7interactivevideoviewer.s7mouseinput .s7fullscreenbutton[selected='true'][state='up'] {
background-position: -84px -1148px;
}
.s7interactivevideoviewer.s7mouseinput .s7fullscreenbutton[selected='true'][state='over'] {
background-position: -56px -1148px;
}
.s7interactivevideoviewer.s7mouseinput .s7fullscreenbutton[selected='true'][state='down'] {
background-position: -28px -1148px;
}
.s7interactivevideoviewer.s7mouseinput .s7fullscreenbutton[selected='true'][state='disabled'] {
background-position: -0px -1148px;
}
.s7interactivevideoviewer.s7mouseinput .s7fullscreenbutton[selected='false'][state='up'] {
background-position: -84px -1120px;
}
.s7interactivevideoviewer.s7mouseinput .s7fullscreenbutton[selected='false'][state='over'] {
background-position: -56px -1120px;
}
.s7interactivevideoviewer.s7mouseinput .s7fullscreenbutton[selected='false'][state='down'] {
background-position: -28px -1120px;
}
.s7interactivevideoviewer.s7mouseinput .s7fullscreenbutton[selected='false'][state='disabled'] {
background-position: -0px -1120px;
}

Allmän formatinformation och råd section-95855dccbbc444e79970f1aaa3260b7b

  • När du anpassar visningsprogrammets användargränssnitt med CSS används !IMPORTANT regeln stöds inte för att formatera visningsprogramelement. I synnerhet !IMPORTANT ska inte användas för att åsidosätta standardformat eller körningsformat som tillhandahålls av visningsprogrammet eller visaren-SDK. Orsaken är att det kan påverka beteendet för rätt komponenter. I stället bör du använda CSS-väljare med rätt specificitet för att ange CSS-egenskaper som dokumenteras i den här referenshandboken.

  • Alla sökvägar till externa resurser i CSS matchas mot CSS-platsen, inte mot visningsprogrammets HTML-sidplats. Tänk på den här regeln när du kopierar standard-CSS till en annan plats. Kopiera även standardresurserna eller uppdatera sökvägarna i den anpassade CSS-koden.

  • Det format du föredrar för bitmappsbilder är PNG.

  • Bitmappsgrafik tilldelas till element i användargränssnittet med hjälp av background-image -egenskap.

  • The width och height -egenskaperna för ett användargränssnittselement definierar dess logiska storlek. Storleken på bitmappen som skickas till background-image påverkar inte den logiska storleken.

  • Om du vill använda hög pixeldensitet för högupplösta skärmar som Retina anger du bitmappsbilder som är dubbelt så stora som elementstorleken för det logiska användargränssnittet. Använd sedan -webkit-background-size:contain om du vill skala bakgrunden ned till det logiska användargränssnittets elementstorlek.

  • Om du vill ta bort en knapp från användargränssnittet lägger du till display:none till CSS-klassen.

  • Du kan använda olika format för färgvärden som stöds i CSS. Använd formatet om du behöver genomskinlighet rgba(R,G,B,A). I annat fall kan du använda formatet #RRGGBB.

Element i gemensamt användargränssnitt section-d6330c9be8c444aa9b2a07886e3dbc2a

Nedan följer referensdokumentation för användargränssnittselement som gäller för Interactive Video Viewer:

recommendation-more-help
b7426f53-aad9-4c00-83fc-664f30f681e8