CSS

The HTML5 Videochat app can be customizes as layout, aspect, interface with custom CSS. This involves more advanced designer skills.

Interface Elements

App uses elements from these interface frameworks:

Fomantic UI
Semantic UI React

Layout

/* Panel Layouts */
.layoutChat {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “history
“Hantar”;
grid-template-columns: 100%;
grid-template-rows: auto60px;
}
.layoutTabs {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “menu
pane”;
grid-template-columns: 100%;
grid-template-rows: 45pxauto;
}
.layoutList {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “scrollable
menu”;
grid-template-columns: 100%;
grid-template-rows: auto 45px;
}
.layoutScrollable {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “scrollable”;
grid-template-columns: 100%;
grid-template-rows: 100%;
}
.paneActive
{
}
.paneInactive
{
visibility: tersembunyi;
}
/* App Layouts */
.layoutBroadcast {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “camera history
actions send”;
grid-template-columns: 45%55%;
grid-template-rows: auto45px;
}
.layoutPlayback {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “video history
actions send”;
grid-template-columns: 65%35%;
grid-template-rows: auto45px;
}
.layoutWay2 {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “video camera
video history
actions send”;
grid-template-columns: 65%35%;
grid-template-rows: 40%auto45px;
}
.layoutCollaboration {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “video tabs
actions tabs”;
grid-template-columns: 65%35%;
grid-template-rows: auto45px;
}
/* Mobile Layouts */
/* For lower resolutions video takes full width and chat shows below */
@media screen and (lebar maks: 1150sgt)
{
.layoutBroadcast {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “kamera”
history
“Hantar”
actions”;
grid-template-columns: 100%;
grid-template-rows: auto45%45px40px;
}
.layoutPlayback {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “video”
history
“Hantar”
actions”;
grid-template-columns: 100%;
grid-template-rows: auto30%45px40px;
}
.layoutWay2 {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “video”
history
“Hantar”
actions
“kamera”;
grid-template-columns: 100%;
grid-template-rows: auto25%45px40px25%;
}
.layoutCollaboration {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “video”
actions
tabs”;
grid-template-columns: 100%;
grid-template-rows: auto45px45%;
}
}
/* For very low resolutions 2 rows action bar */
@media screen and (lebar maks: 800sgt)
{
.layoutBroadcast {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “kamera”
history
“Hantar”
actions”;
grid-template-columns: 100%;
grid-template-rows: auto35%45px80px;
}
.layoutPlayback {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “video”
history
“Hantar”
actions”;
grid-template-columns: 100%;
grid-template-rows: auto30%45px80px;
}
.layoutWay2 {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “video”
history
“Hantar”
actions
“kamera”;
grid-template-columns: 100%;
grid-template-rows: auto25%45px80px25%;
}
.layoutCollaboration {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “video”
actions
tabs”;
grid-template-columns: 100%;
grid-template-rows: auto80px40%;
}
}
/* Panels/Components */
.layCamera {
kedudukan: relatif;
grid-area: kamera;
}
.layVideo {
kedudukan: relatif;
grid-area: video;
}
.layHistory {
kedudukan: relatif;
grid-area: history;
}
.laySend {
kedudukan: relatif;
grid-area: Hantar;
}
.layActions {
kedudukan: relatif;
grid-area: actions;
}
.layTabs {
kedudukan: relatif;
grid-area: tabs;
}
.layMenu {
kedudukan: relatif;
grid-area: menu;
}
.layPane {
kedudukan: relatif;
grid-area: pane;
}
.layScrollable {
kedudukan: relatif;
grid-area: scrollable;
overflow-y: scroll;
}
/* Split Multimedia Views */
.split0 {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “media0”;
grid-template-columns: 100%;
grid-template-rows: 100%;
}
.splitH2 {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “media0 media1”;
grid-template-columns: 50%50%;
grid-template-rows: 100%;
}
.splitV2 {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “media0
media1”;
grid-template-columns: 100%;
grid-template-rows: 50%50%;
}
.splitH4, .splitV4 {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “media0 media1
media2 media3”;
grid-template-columns: 50%50%;
grid-template-rows: 50%50%;
}
.splitH6 {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “media0 media1 media2
media3 media4 media5”;
grid-template-columns: 34%33%33%;
grid-template-rows: 50%50%;
}
.splitV6 {
kedudukan: mutlak;
Paparan: grid;
lebar: 100%;
ketinggian: 100%;
grid-template-areas: “media0 media1
media2 media3
media4 media5”;
grid-template-columns: 50%50%;
grid-template-rows: 34%33%33%;
}
/* Split Multimedia View Slots */
.slot0 {
kedudukan: relatif;
grid-area: media0;
}
.slot1 {
kedudukan: relatif;
grid-area: media1;
}
.slot2 {
kedudukan: relatif;
grid-area: media2;
}
.slot3 {
kedudukan: relatif;
grid-area: media3;
}
.slot4 {
kedudukan: relatif;
grid-area: media4;
}
.slot5 {
kedudukan: relatif;
grid-area: media5;
}
PS: Latest version may have changes or new elements.