webamp/experiments/webcramp/layout.css
2018-05-05 20:03:38 -04:00

265 lines
5.2 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
border: 0;
overflow: hidden;
}
.start-menu {
position: absolute !important; /* XXX overriding relative; could instead of using :after use border-image */
left: 2px;
bottom: 25px;
width: calc(186px + 21px); /* 186px isn't the proper width measured out, just what I had it before, (for the content, on chrome on windows 10; text wrapping is not cross-platform-consistent) */
padding-left: 21px; /* 21px = .start-menu-titlebar */
height: 340px;
max-height: calc(100vh - 26px); /* based on taskbar height TODO: do this differently, probably in JS, since the taskbar will be resizable (or could be) */
box-sizing: border-box;
display: flex;
flex-direction: row;
}
.start-menu-titlebar {
flex: 0 0 auto;
width: 21px;
}
.start-menu-content {
overflow: auto;
padding: 15px;
}
.start-menu ul {
list-style: none;
margin: 1em 0;
padding: 0;
}
.desktop {
height: 100%;
display: flex;
}
.folder-view {
position: relative;
flex: 1;
}
.taskbar {
position: absolute;
z-index: 2;
bottom: 0;
left: 0;
right: 0;
height: 27px; /* not including outline part of border */
display: flex;
flex: 1;
}
/* .taskbar-button is generally .task or .start-button for now */
.taskbar button,
.taskbar-divider,
.tray {
margin: 2px;
}
.taskbar-divider {
margin-right: 0px;
margin-left: 0px;
/* TODO: maybe make that 2px rule padding on the taskbar instead and avoid reseting this */
}
.taskbar button {
line-height: 14px;
padding: 2px;
overflow: hidden; /* TODO: If tons and tons of tasks don't show icons? (smaller than width of an icon?) */
display: flex;
flex-direction: row;
align-items: center;
/* (justify-content: flex-start;) */
}
.taskbar button .title {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.taskbar .start-button {
flex-shrink: 0;
padding: 2px 4px;
}
.tray {
display: flex;
flex-direction: row;
/* align-items: center; */
/* align-content: center; */
/* justify-content: center; */
line-height: 22px;
box-sizing: border-box;
vertical-align: middle;
}
.tray-icons {
display: flex;
align-items: center;
margin-left: 2px; /* XXX basically 1px, but 2px because of the way the border is done */
}
.tray-icon {
margin-left: 1px;
}
.taskbar-time {
width: 60px;
text-align: center;
}
/* TODO: offset task button contents down a px when depressed... actually most buttons */
.tasks {
display: flex;
flex: 1;
height: 100%;
}
.task {
max-width: 200px;
width: 50%;
text-align: left;
}
.task img {
padding-right: 4px;
flex: 0 0 auto;
}
.desktop,
.folder-view,
.taskbar,
.start-button,
.tasks,
.task,
.window,
.window-titlebar,
.window-title {
cursor: default;
user-select: none;
-o-user-select: none;
-ms-user-select: none;
-moz-user-select: none;
-webkit-user-select: none;
}
.window-titlebar .icon {
vertical-align: bottom;
}
.window-content {
margin: 0;
padding: 0;
}
.desktop-icon {
display: inline-block;
vertical-align: bottom; /* with inline-block, always */
margin: 5px;
text-align: center;
}
.desktop-icon .icon-wrapper {
display: inline-block;
vertical-align: bottom; /* with inline-block, always */
position: relative;
}
.desktop-icon .title {
line-height: 13px;
font-size: 9px;
overflow: hidden;
text-overflow: ellipsis; /* TODO: make this work with multiline text! This is apparently a limitation of this CSS property and ther are various crazy CSS hacks and JS libs to solve this. */
word-wrap: break-word; /* All browsers since IE 5.5+ */
overflow-wrap: break-word; /* Renamed property in CSS3 draft spec */
}
.desktop-icon:not(.focused) .title {
/* max-height: 2em would only work with line-height: 1 */
max-height: calc(13px * 2);
}
.desktop-icon.focused {
z-index: 1;
}
/* Fix dragging things (like windows) over iframes */
.drag iframe {
pointer-events: none;
}
.marquee {
pointer-events: none;
}
.menus {
display: flex;
flex: 0 0 auto;
}
.menu-container {
position: relative;
}
.menu-popup {
position: absolute;
top: 100%;
left: 0;
z-index: 400000; /* so sub-menu-popups can be visible over the window */
box-sizing: border-box;
}
.menu-popup-table {
border-collapse: collapse;
}
.menu-item {
white-space: nowrap;
}
.menu-hr {
display: block !important;
height: 0;
width: auto;
}
.menu-hotkey {
display: inline !important;
}
.menu-item-checkbox-area,
.menu-item-submenu-area {
min-width: 16px;
}
.menu-item-checkbox-area,
.menu-item-submenu-area {
text-align: center;
}
.window-titlebar {
display: flex;
flex-direction: row;
align-items: center;
}
.window-title-area {
position: relative;
flex: 1;
height: 16px; /* 100% doesn't work */
}
.window-title {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
display: inline-block !important;
margin: 0;
padding: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.window-close-button {
display: block !important;
float: right;
width: 13px;
height: 11px;
}
.window-close-button:before {
content: '×';
position: relative;
}
.window-content .button-group {
width: 85px;
}
.window-content .button-group > button {
width: 95%;
padding: 3px 5px;
}
::before, ::after {
pointer-events: none;
}
.cursor-bully * {
cursor: inherit !important;
}
.loading-program * {
cursor: progress;
}