framework/ember/app/styles/flarum/layout.less
Toby Zerner 74e80ea2df Implement redesign, refactor everything
- Write CSS for everything, update templates.
- Refactor discussion view. Stream is split into two components
(content and scrubber) which have their own responsibilities.
- Extract pane functionality into a mixin.
- Implement global “back button” system. You give a “paneable” target
to the application controller, the back button will modulate its
pane-related properties as necessary, and call an action when the
button is clicked.
- Extract welcome-hero into its own component.
- Lots of other general improvements/refactoring. The code is quite
well-commented so take a look!
2015-01-16 17:26:18 +10:30

158 lines
2.5 KiB
Plaintext

body {
background: @fl-body-bg;
color: @fl-body-color;
padding-top: 56px;
}
.container-narrow {
max-width: 500px;
margin: 0 auto;
}
// ------------------------------------
// Header
.global-header {
background: fade(@fl-hdr-bg, 98%);
transform: translateZ(0); // Fix for Chrome bug where a transparent white background is actually gray
padding: 10px;
height: 56px;
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: @zindex-navbar-fixed;
.clearfix();
.transition(box-shadow 0.2s);
.scrolled & {
.box-shadow(0 2px 6px rgba(0, 0, 0, 0.15));
}
}
.header-controls {
margin: 0;
padding: 0;
list-style-type: none;
&, & > li {
display: inline-block;
vertical-align: top;
}
}
.header-primary {
float: left;
& h1 {
display: inline-block;
vertical-align: top;
}
}
.header-title {
font-size: 18px;
font-weight: normal;
margin: 0;
line-height: 36px;
&, & a {
color: @fl-hdr-color;
}
}
.header-secondary {
float: right;
}
// Back button
// @todo Lots of !importants in here, could we be more specific?
.back-button {
float: left;
margin-right: 25px;
& .back {
z-index: 3; // z-index of an active .btn-group .btn is 2
border-radius: @border-radius-base !important;
.transition(border-radius 0.2s);
}
& .pin {
opacity: 0;
margin-left: -36px !important;
.transition(~"opacity 0.2s, margin-left 0.2s");
&:not(.active) .fa {
.rotate(45deg);
}
}
&.active {
& .back {
border-radius: @border-radius-base 0 0 @border-radius-base !important;
}
& .pin {
opacity: 1;
margin-left: 1px !important;
}
}
}
// ------------------------------------
// Main
.global-main, .paned {
border-top: 1px solid @fl-secondary-color;
}
// Hero
.hero {
background: @fl-body-hero-bg;
color: @fl-body-hero-color;
margin-top: -1px;
text-align: center;
padding: 30px 0;
}
.hero .close {
float: right;
margin-top: -10px;
color: #fff;
opacity: 0.5;
}
.hero h2 {
margin: 0;
font-size: 22px;
font-weight: normal;
}
.hero p {
margin: 10px 0 0;
}
// ------------------------------------
// Footer
.global-footer {
margin: 100px 0 20px;
color: @fl-body-muted-more-color;
.clearfix();
}
.footer-primary, .footer-secondary {
margin: 0;
padding: 0;
list-style-type: none;
& > li {
display: inline-block;
vertical-align: middle;
}
& a {
color: @fl-body-muted-more-color;
&:hover,
&:focus {
text-decoration: none;
color: @link-hover-color;
}
}
}
.footer-primary {
display: inline-block;
& > li {
margin-right: 15px;
}
}
.footer-secondary {
float: right;
& > li {
margin-left: 15px;
}
}