fbpx

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

If theme overwrites styling for some of the classes, your designer can add extra css code to fix. Or just add custom styling to match site theme.
In example for “.button”, code can be added for “.ui.buttoncustomize certain styling withimportant!” .

Custom App CSS

This code may be outdated by recent versions, but it lists main elements you can customize:

Layout

/* Panel Layouts */
.layoutChat {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “history
send”;
grid-template-columns: 100%;
grid-template-rows: auto60px;
}
.layoutTabs {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “功能表”
pane”;
grid-template-columns: 100%;
grid-template-rows: 45pxauto;
}
.layoutList {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “scrollable
“功能表”;
grid-template-columns: 100%;
grid-template-rows: auto 45px;
}
.layoutScrollable {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “scrollable”;
grid-template-columns: 100%;
grid-template-rows: 100%;
}
.paneActive
{
visibility: visible;
}
.paneInactive
{
visibility: hidden;
}
/* App Layouts */
.layoutBroadcast {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “camera history
actions send”;
grid-template-columns: 45%55%;
grid-template-rows: auto55px;
}
.layoutBroadcastAudio {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “history
send
“照相機”
actions”;
grid-template-columns: 100%;
grid-template-rows: auto55px45px45px;
}
.layoutPlayback {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “video history
actions send”;
grid-template-columns: 65%35%;
grid-template-rows: auto55px;
}
.layoutPlaybackAudio {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “history
send
“視頻”
actions”;
grid-template-columns: 100%;
grid-template-rows: auto55px45px45px;
}
.layoutText {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “history
send
actions”;
grid-template-columns: 100%;
grid-template-rows: auto55px45px;
}
.layoutCollaborationText {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “tabs
actions”;
grid-template-columns: 100%;
grid-template-rows: auto45px;
}
.layoutWay2 {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “video camera
video history
actions send”;
grid-template-columns: 65%35%;
grid-template-rows: 40%auto45px;
}
.layoutWay2Audio {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “history
send
“視頻”
“照相機”
actions”;
grid-template-columns: 100%;
grid-template-rows: auto45px45px45px45px;
}
.layoutCollaboration {
position: absolute;
display: grid;
width: 100%;
height: 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 only screen and (max-width: 1150Px)
{
.layoutBroadcast {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “照相機”
history
send
actions”;
grid-template-columns: 100%;
grid-template-rows: auto45%45px40px;
}
.layoutPlayback {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “視頻”
history
send
actions”;
grid-template-columns: 100%;
grid-template-rows: auto30%45px40px;
}
.layoutWay2 {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “視頻”
history
send
actions
“照相機”;
grid-template-columns: 100%;
grid-template-rows: auto25%45px40px25%;
}
.layoutCollaboration {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “視頻”
actions
tabs”;
grid-template-columns: 100%;
grid-template-rows: auto60px45%;
}
.layoutCollaborationText {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “tabs
actions”;
grid-template-columns: 100%;
grid-template-rows: auto60px;
}
}
/* For very low resolutions 2 rows action bar */
@media only screen and (max-width: 800Px)
{
.layoutText {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “history
send
actions”;
grid-template-columns: 100%;
grid-template-rows: auto55px90px;
}
.layoutCollaborationText {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “tabs
actions”;
grid-template-columns: 100%;
grid-template-rows: auto90px;
}
.layoutWay2Audio {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “history
send
“視頻”
“照相機”
actions”;
grid-template-columns: 100%;
grid-template-rows: auto55px60px90px90px;
}
.layoutBroadcastAudio {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “history
send
“照相機”
actions”;
grid-template-columns: 100%;
grid-template-rows: auto55px90px65px;
}
.layoutPlaybackAudio {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “history
send
“視頻”
actions”;
grid-template-columns: 100%;
grid-template-rows: auto55px60px90px;
}
.layoutBroadcast {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “照相機”
history
send
actions”;
grid-template-columns: 100%;
grid-template-rows: auto35%45px65px;
}
.layoutPlayback {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “視頻”
history
send
actions”;
grid-template-columns: 100%;
grid-template-rows: auto30%55px90px;
}
.layoutWay2 {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “視頻”
history
send
actions
“照相機”;
grid-template-columns: 100%;
grid-template-rows: auto20%55px90px30%;
}
.layoutCollaboration{
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “視頻”
actions
tabs”;
grid-template-columns: 100%;
grid-template-rows: auto90px40%;
}
}
/* Panels/Components */
.layCamera {
position: relative;
grid-area: 照相機;
}
.layVideo {
position: relative;
grid-area: 視頻;
}
.layHistory {
position: relative;
grid-area: history;
}
.laySend {
position: relative;
grid-area: send;
}
.layActions {
position: relative;
grid-area: actions;
}
.layTabs {
position: relative;
grid-area: tabs;
}
.layMenu {
position: relative;
grid-area: 功能表;
}
.layPane {
position: relative;
grid-area: pane;
}
.layChat {
position: relative;
grid-area: 聊天;
}
.layScrollable {
position: relative;
grid-area: scrollable;
overflow-y: scroll;
}
/* Split Multimedia Views */
.split0 {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “media0”;
grid-template-columns: 100%;
grid-template-rows: 100%;
}
.splitH2 {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “media0 media1”;
grid-template-columns: 50%50%;
grid-template-rows: 100%;
}
.splitV2 {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “media0
media1”;
grid-template-columns: 100%;
grid-template-rows: 50%50%;
}
.splitH4, .splitV4 {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “media0 media1
media2 media3”;
grid-template-columns: 50%50%;
grid-template-rows: 50%50%;
}
.splitH6 {
position: absolute;
display: grid;
width: 100%;
height: 100%;
grid-template-areas: “media0 media1 media2
media3 media4 media5”;
grid-template-columns: 34%33%33%;
grid-template-rows: 50%50%;
}
.splitV6 {
position: absolute;
display: grid;
width: 100%;
height: 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 {
position: relative;
grid-area: media0;
}
.slot1 {
position: relative;
grid-area: media1;
}
.slot2 {
position: relative;
grid-area: media2;
}
.slot3 {
position: relative;
grid-area: media3;
}
.slot4 {
position: relative;
grid-area: media4;
}
.slot5 {
position: relative;
grid-area: media5;
}
PS: Latest version may have changes or new elements.

Interface CSS

/* Interface Elements, contained in Controls */
/* 視頻 */
.localVideo
{
}
.localVideoPlay
{
}
/* History */
.chatMessageList {
position: absolute;
width: 100%;
height: 100%;
overflow-y: scroll;
/* background-color: rgb(225, 233, 225); */
padding: 0;
margin: 0;
}
.chatMessageListul {
list-style-type: none;
}
.chatMessage {
list-style-type: none;
padding-right: 10Px;
font-size: 12Px;
color: #777;
font-weight: normal;
}
.chatMessage.dark
{
color: #FFF;
}
.chatMessage.notification {
color: #7A7;
text-align: 左;
}
.chatMessage.dark.notification
{
color: #EFE;
}
.chatMessage.automated {
font-style: italic;
color: #7AA;
text-align: 左;
}
.chatMessage.user {
text-align: 左;
}
.chatMessageimg {
vertical-align: middle;
padding: 2Px;
}
.chatMessagelabel {
display: inline-block;
max-width: 85%;
background-color: white;
border-radius: 5Px;
padding: 5Px;
margin: 2Px;
}
.chatMessage.darklabel{
background-color: #111;
}
.chatMessage.userstrong {
display: inline-block;
font-size: 11Px;
padding: 3Px;
font-weight: normal;
}
.chatMessage.useri {
font-size: 10Px;
padding: 3Px;
}
.chatMessage.user.own {
text-align: right;
}