EmulatorJS/src/css/main.css

554 lines
12 KiB
CSS
Raw Normal View History

.ejs_parent {
background: #000;
overflow: hidden;
--ejs-primary-color: 26,175,255;
position: relative;
font-family: Avenir, "Avenir Next", "Helvetica Neue", "Segoe UI", Helvetica, Arial, sans-serif;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
font-weight: 500;
line-height: 1.7;
width: 100%;
height: 100%;
2023-06-24 05:29:19 +00:00
color: #bcbcbc;
}
2023-06-22 19:08:34 +00:00
.ejs_parent ::-webkit-scrollbar{
width: 8px;
height: 16px;
background-color: transparent;
}
.ejs_parent ::-webkit-scrollbar-thumb{
border-radius: 0;
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
background-color: #f5f5f5;
}
.ejs_parent ::-webkit-scrollbar-track{
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
border-radius: 10px;
background-color: transparent;
}
.ejs_parent {
scrollbar-face-color:#F5F5F5;
scrollbar-highlight-color:transparent;
scrollbar-3dlight-color:transparent;
scrollbar-darkshadow-color:transparent;
scrollbar-Shadow-color:transparent;
scrollbar-arrow-color:#fff;
scrollbar-track-color:transparent;
scrollbar-width:thin;
scrollbar-color:transparent #f5f5f5;
}
.ejs_game {/* todo. User selectable background loading image */
width: 100%;
height: 100%;
background-color: rgb(51, 51, 51);
cursor: default;
}
.ejs_start_button {
position: absolute;
bottom: 65px;
left: 50%;
transform: translateX(-50%);
cursor: pointer;
box-sizing: inherit;
display: flex;
justify-content: center;
text-shadow: 0 1px 1px rgba(0,0,0,0.5);
font-size: 20px;
line-height: 45px;
text-transform: uppercase;
font-weight: bolder;
position: relative;
text-decoration: none;
width: 200px;
height: 45px;
border: 0;
color: #fff !important;
border-radius: 35px;
text-align: center;
background-color: rgba(var(--ejs-primary-color),1);
}
.ejs_start_button:active {
box-shadow: 0 0 0 0 #222, 0 3px 7px 0 #111, inset 0 1px 1px 0 rgba(250,250,250,0.2), inset 0 -10px 35px 5px rgba(0,0,0,0.5);
bottom: 64px;
}
.ejs_loading_text {
position: absolute;
bottom: 20px;
font-weight: 500;
left: 50%;
transform: translateX(-50%);
box-sizing: inherit;
font-size: 12px;
color: #bcbcbc;
}
.ejs_canvas {
width: 100%;
height: 100%;
}
.ejs_context_menu {
position: absolute;
display: none;
z-index: 9;
background: rgba(16,16,16,0.9);
border-radius: 3px;
font-size: 13px;
min-width: 140px;
padding: 8px;
box-sizing: inherit;
}
.ejs_context_menu li {
padding: 4px 11px;
text-align: center;
}
.ejs_context_menu li a {
color: #999;
display: block;
font-size: 13px;
}
.ejs_context_menu ul {
color: #999;
display: block;
font-size: 13px;
list-style: none;
margin: 0;
padding: 0;
}
.ejs_context_menu li:hover {
background: rgba(var(--ejs-primary-color),1);
border-radius: 4px;
box-shadow: 0 0 0 5px rgba(var(--ejs-primary-color),0.5);
outline: 0;
}
.ejs_menu_bar {
padding: 15px 10px 10px;
background: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0.7));
border-bottom-left-radius: inherit;
border-bottom-right-radius: inherit;
bottom: 0;
color: #fff;
left: 0;
position: absolute;
right: 0;
transition: opacity .4s ease-in-out,transform .4s ease-in-out;
z-index: 3;
align-items: center;
display: flex;
justify-content: flex-start;
text-align: center;
}
.ejs_menu_bar svg {
display: block;
fill: currentColor;
height: 18px;
pointer-events: none;
width: 18px;
}
.ejs_menu_bar_hidden {
opacity: 0;
pointer-events: none;
transform: translateY(100%);
}
.ejs_menu_button {
margin-right: 2px;
touch-action: manipulation;
background: transparent;
border: 0;
border-radius: 3px;
color: inherit;
cursor: pointer;
flex-shrink: 0;
overflow: visible;
padding: 7px;
position: relative;
transition: all .3s ease;
}
.ejs_menu_button:hover {
background: rgba(var(--ejs-primary-color),1);
color: #fff;
}
.ejs_menu_button:hover .ejs_menu_text {
transform: translate(0,0) scale(1);
opacity: 1;
}
.ejs_menu_text {
left: 0;
background: rgba(255,255,255,0.9);
border-radius: 3px;
bottom: 100%;
box-shadow: 0 1px 2px rgba(0,0,0,0.15);
color: #4f5b5f;
font-size: 14px;
font-weight: 500;
line-height: 1.3;
margin-bottom: 10px;
opacity: 0;
padding: 5px 7.5px;
pointer-events: none;
position: absolute;
transform: translate(0,10px) scale(0.8);
transform-origin: 0 100%;
transition: transform .2s .1s ease,opacity .2s .1s ease;
white-space: nowrap;
z-index: 2;
}
.ejs_menu_text::before {
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 4px solid rgba(255,255,255,0.9);
bottom: -4px;
content: '';
height: 0;
left: 16px;
position: absolute;
transform: translateX(-50%);
width: 0;
z-index: 2;
}
2023-06-22 17:27:21 +00:00
.ejs_popup_container {
background: rgba(0,0,0,0.8);
text-align: center;
z-index: 9999;
height: 100%;
overflow: hidden;
position: absolute;
top: 0;
width: 100%;
color: #ccc;
}
2023-06-23 13:38:35 +00:00
.ejs_popup_container *, .ejs_popup_container *::after, .ejs_popup_container *::before {
box-sizing: border-box;
}
2023-06-22 17:27:21 +00:00
.ejs_popup_container h4 {
color: #ccc;
font-size: 24px;
margin: 0;
padding: 10px;
}
.ejs_button {
border-radius: .25rem;
font-size: .875rem;
padding-left: 1rem;
padding-right: 1rem;
padding-top: .5rem;
padding-bottom: .5rem;
display: inline-block;
background-color: rgba(var(--ejs-primary-color),1);
margin: 0 10px;
color: #fff !important;
touch-action: manipulation;
cursor: pointer;
}
.ejs_popup_body {
height: calc(100% - 130px);
2023-06-22 19:08:34 +00:00
overflow: auto;
2023-06-22 17:27:21 +00:00
}
2023-06-22 19:08:34 +00:00
2023-06-23 13:38:35 +00:00
.ejs_control_body {
color: #bcbcbc !important;
border: unset;
}
2023-06-22 19:08:34 +00:00
.ejs_control_body input[type='text'] {
background-color: #fff;
border: 1px solid #000;
font-size: 12px;
font-weight: 700;
color: #000 !important;
}
2023-06-23 13:38:35 +00:00
.ejs_control_player_bar {
margin: 0;
padding: 0;
}
.ejs_control_player_bar ul {
list-style: none;
}
.ejs_control_player_bar li {
color: #bcbcbc !important;
display: inline-block;
}
.ejs_control_player_bar a {
padding: 2px 5px;
color: #bcbcbc !important;
font-size: 14px;
cursor: pointer;
}
2023-06-22 19:08:34 +00:00
2023-06-23 13:38:35 +00:00
.ejs_control_selected {
border-bottom: 1px solid #fff;
background-color: #fff;
}
.ejs_control_selected a {
color: #000 !important;
}
2023-06-23 16:33:20 +00:00
.ejs_control_bar:hover {
background-color: #2d2d2d;
}
.ejs_popup_box {
position: absolute;
width: 300px;
top: 50%;
margin-left: -150px;
margin-top: -50px;
left: 50%;
background: rgba(0,0,0,0.8) !important;
padding: 15px 0;
}
2023-06-24 05:29:19 +00:00
.ejs_virtualGamepad_parent {
width: 100%;
position: absolute;
bottom: 50px;
}
.ejs_virtualGamepad_top {
position: absolute;
bottom: 250px;
width: 100%;
}
.ejs_virtualGamepad_bottom {
position: absolute;
bottom: 10px;
height: 30px;
width: 124px;
left: 50%;
margin-left: -62px;
}
.ejs_virtualGamepad_left {
position: absolute;
bottom: 50px;
width: 125px;
height: 125px;
left: 10px;
}
.ejs_virtualGamepad_right {
position: absolute;
bottom: 50px;
width: 130px;
height: 130px;
right: 10px;
}
.ejs_virtualGamepad_button {
position: absolute;
font-size: 20px;
width: 50px;
height: 50px;
text-align: center;
line-height: 50px;
border: 1px solid #ccc;
border-radius: 50%;
font-size: 30px;
font-weight: bold;
background-color: rgba(255,255,255,0.15);
user-select: none;
transition: all .2s;
}
.ejs_virtualGamepad_button_down {
background-color:#000000ad;
}
2023-06-24 05:29:19 +00:00
.ejs_dpad_main {
touch-action: none;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: .7;
}
.ejs_dpad_horizontal {
width: 100%;
height: 36px;
transform: translate(0,-50%);
position: absolute;
left: 0;
top: 50%;
border-radius: 5px;
overflow: hidden;
}
.ejs_dpad_horizontal:before {
content: "";
position: absolute;
left: 0;
top: 50%;
z-index: 1;
transform: translate(0,-50%);
width: 0;
height: 0;
border: 8px solid;
border-color: transparent #333 transparent transparent;
}
.ejs_dpad_horizontal:after {
content: "";
position: absolute;
right: 0;
top: 50%;
z-index: 1;
transform: translate(0,-50%);
width: 0;
height: 0;
border: 8px solid;
border-color: transparent transparent transparent #333;
}
.ejs_dpad_vertical {
width: 36px;
height: 100%;
transform: translate(-50%,0);
position: absolute;
left: 50%;
border-radius: 5px;
overflow: hidden;
}
.ejs_dpad_vertical:before {
content: "";
position: absolute;
top: 0;
left: 50%;
z-index: 1;
transform: translate(-50%,0);
width: 0;
height: 0;
border: 8px solid;
border-color: transparent transparent #333 transparent;
}
.ejs_dpad_vertical:after {
content: "";
position: absolute;
bottom: 0;
left: 50%;
z-index: 1;
transform: translate(-50%,0);
width: 0;
height: 0;
border: 8px solid;
border-color: #333 transparent transparent transparent;
}
.ejs_dpad_bar {
position: absolute;
width: 100%;
height: 100%;
background: #787878;
}
.ejs_dpad_left_pressed .ejs_dpad_horizontal:before {
border-right-color:#fff;
}
.ejs_dpad_right_pressed .ejs_dpad_horizontal:after {
border-left-color:#fff;
}
.ejs_dpad_up_pressed .ejs_dpad_vertical:before {
border-bottom-color:#fff;
}
.ejs_dpad_down_pressed .ejs_dpad_vertical:after {
border-top-color:#fff
}
2023-06-27 16:54:35 +00:00
.ejs_settings_parent {
background: rgba(16,16,16,0.9);
border-radius: 4px;
bottom: 100%;
box-shadow: 0 1px 2px rgba(0,0,0,0.15);
color: #4f5b5f;
font-size: 16px;
margin-bottom: 10px;
position: absolute;
right: -3px;
text-align: left;
white-space: nowrap;
z-index: 3;
}
.ejs_settings_parent::after {
border: 4px solid transparent;
border-top-color: rgba(16,16,16,0.9);
content: '';
height: 0;
position: absolute;
right: 15px;
top: 100%;
width: 0;
}
.ejs_settings_parent>div {
overflow: hidden;
transition: height .35s cubic-bezier(0.4,0,0.2,1),width .35s cubic-bezier(0.4,0,0.2,1);
}
.ejs_setting_home {
max-height: 385px;
overflow: auto;
padding: 7px;
}
.ejs_settings_main_bar {
align-items: center;
color: #999;
display: flex;
font-size: 13px;
padding: 4px 11px;
user-select: none;
width: 100%;
padding-right: 28px;
background: transparent;
border: 0;
border-radius: 3px;
flex-shrink: 0;
overflow: visible;
position: relative;
transition: all .3s ease;
box-sizing: border-box;
}
.ejs_settings_main_bar::after {
border: 4px solid transparent;
content: '';
position: absolute;
top: 50%;
transform: translateY(-50%);
border-left-color: rgba(79,91,95,0.8);
right: 5px;
}
.ejs_settings_main_bar>span {
align-items: inherit;
display: flex;
width: 100%;
}
.ejs_settings_main_bar:hover {
background: rgba(var(--ejs-primary-color),1);
color: #fff;
cursor: pointer;
}
.ejs_settings_main_bar:hover::after {
border-left-color: currentColor;
}
.ejs_settings_main_bar_selected {
align-items: center;
display: flex;
margin-left: auto;
margin-right: -5px;
overflow: hidden;
padding-left: 25px;
pointer-events: none;
}