candy
Version:
a micro bbs system based on duoshuo.com apis
1,285 lines (1,234 loc) • 26.7 kB
text/less
// __
// _________ _____ ____/ /_ __
// / ___/ __ `/ __ \/ __ / / / /
// / /__/ /_/ / / / / /_/ / /_/ /
// \___/\__,_/_/ /_/\__,_/\__, /
// /____/
@import url('./bootstrap.min.css');
@import url('./font-awesome.min.css');
// main style
@font-face {
font-family: 'Indie Flower';
font-style: normal;
font-weight: 400;
src: local('Indie Flower'), local('IndieFlower'), url(../font/logo.woff) format('woff');
}
i {
padding-right: 4px;
}
.fn-left {
float: left;
}
.fn-right {
float: right;
}
.fn-hide {
display: none;
}
/* colors */
@main-color : #444;
@bg-color : #fff;
@key-color: #3498DB;
@hover-color: @key-color - #444;
/* background-images */
.bg {
// background: @bg-color;
}
.single-board {
// border: 1px solid #ddd;
margin-bottom: 10px;
min-height: 200px;
// box-shadow: 0px 0px 10px #ddd;
background-color: #fff;
.br();
.brief {
overflow: hidden;
}
.name {
display: block;
font-size: 18px;
margin-bottom: 0px;
margin-left: 12px;
margin-right: 12px;
color: #999;
line-height: 1.3;
.meta {
padding-top: 10px;
font-size: 12px;
display: block;
i {
padding-left: 12px;
color: #999;
}
i.first {
padding-left: 0px;
}
}
}
.desc {
font-size: 12px;
padding: 5px 12px 10px;
color: #999;
line-height: 1.8;
}
.threads {
margin: 0px 0px 0px 10px;
padding: 12px;
min-height: 200px;
list-style-type: none;
border-left: 1px dashed #ddd;
li {
padding: 5px 3px;
font-size: 12px;
a {
display: block;
}
.avatar {
width: 20px;
height: 20px;
overflow: hidden;
border: 1px solid #ddd;
margin-right: 12px;
padding: 1px;
background-color: #fff;
box-shadow: 0px 0px 4px #ddd;
.br();
}
.meta {
font-size: 12px;
color: #999;
span {
margin-left: 6px;
}
}
}
}
}
/* basic */
body {
color: @main-color;
.bg();
}
a {
color: @key-color;
&:hover {
color: @hover-color;
text-decoration: none;
.tra;
}
&:active {
}
&:visited {
}
}
/* Header */
#header {
border-bottom: 1px solid #ddd;
#ihd {
color: #444;
padding: 15px 0;
}
#logo {
position: relative;
h1 {
margin-top: 0px;
margin-bottom: 0px;
a.logo {
padding-top: 12px;
padding-bottom: 12px;
display: block;
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 20px;
font-weight: normal;
text-shadow: 1px 1px 2px #444;
color: #444;
text-shadow: none;
float: left;
span.desc {
font-size: 12px;
padding-left: 10px;
color: #444;
}
}
}
}
.user-nav {
list-style-type: none;
font-size: 14px;
li {
display: block;
float: left;
}
a {
font-size: 14px ;
display: block;
background-color: #fff;
padding: 6px 12px;
.br(15px);
box-shadow: 0px 0px 3px #ddd;
}
}
.open-true {
background-color: #fff;
box-shadow: inset 0px 6px 8px #ddd;
i {
color: @key-color ;
}
}
.boards-dropdown {
font-size: 18px;
float: left;
display: block;
color: #444;
margin-left: 10px;
padding-top: 15px;
padding-bottom: 15px;
padding-left: 15px;
padding-right: 15px;
i {
display: block;
color: #444;
}
&:hover {
i {
color: #444;
text-shadow: 0px 0px 1px #ddd;
}
};
}
.boards-index {
position: absolute;
top: 46px;
right: -110px;
z-index: 1000;
float: left;
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0;
list-style: none;
background-color: #fff;
width: 150px;
padding: 1px;
border: 1px solid #ddd;
border-top: 0;
box-shadow: 1px 5px 5px #f5f5f5;
li {
font-size: 12px;
color: #999;
a {
font-size: 12px;
display: block;
padding: 6px 12px;
&:hover {
background-color: @key-color - #444;
color: #fff;
};
}
}
i {
padding-right: 8px;
}
}
}
.active-nav {
font-size: 14px ;
color: #999;
text-align: left;
position: relative;
padding: 5px 35px 5px 10px;
i {
font-size: 24px;
padding-left: 10px;
line-height: 1.0;
position: absolute;
right: 5px;
top: 1px;
}
&:hover {
color: #fff;
i {
color: #ddd;
}
}
}
.actived {
color: #fff;
i {
color: #444;
text-shadow: 1px 1px 2px #fff;
}
&:hover {
i {
color: #444;
}
}
}
.hot-board-wrap {
background-color: #f5f5f5;
box-shadow: inset 0px 3px 10px #444;
background: #444 url('../images/navbg.png');
overflow: hidden;
display: none;
}
.share {
color: #fff;
padding-top: 30px;
text-shadow: 1px 1px 1px #444;
i {
font-size: 60px;
line-height: 1;
display: block;
text-align: center;
}
span {
display: block;
text-align: center;
font-size: 12px;
}
.s2 {
margin-bottom: -200px;
padding-top: 50px;
.mime {
width: 55px;
height: 55px;
.br(100px);
box-shadow: 0px 1px 3px #444;
display: block;
margin: 0px auto;
margin-bottom: 8px;
}
}
}
.board-nav {
position: relative;
padding: 5px 0;
min-height: 150px;
.nav-cnt {
display: block;
font-size: 12px;
color: #444;
overflow: hidden;
padding-top: 20px;
ul {
margin-bottom: 1px;
clear: both;
padding-left: 10px;
&:last-child {
margin-bottom:0px;
}
span {
float: left;
display: block;
margin-right: 1px;
color: #444;
width: 110px;
padding: 10px 0px;
text-shadow: 1px 1px 2px #444;
color: #fff;
i {
padding-right: 10px;
line-height: 1;
}
}
li {
float: left;
text-align: left;
margin-right: 12px;
a {
display: block;
color: #999;
padding: 5px 16px;
background-color: #ddd;
.br(20px);
&:hover {
background-color: #fff;
color: @key-color - #444;
}
}
}
}
}
}
.banner {
width: 100%;
border-bottom: 1px solid #ddd;
background: #fff url('/images/wallpaper/geometry.png') left top;
.inner {
padding: 10px 0;
.title {
font-size: 16px;
font-weight: bold;
color: #444;
margin-top: 16px;
margin-bottom: 15px;
text-shadow: 1px 1px 1px #ddd;
}
.desc {
font-size: 12px;
color: #999;
text-shadow: 1px 1px 1px #efefef;
font-weight: normal;
padding-left: 6px;
}
.admin {
font-size: 12px;
}
}
.post {
font-size: 12px;
margin-top: 10px;
.br(20px) !important;
.bs();
}
}
/* Content */
.index-board {
margin-bottom: 20px;
.lz-board {
background: none;
padding-bottom: 0;
border-bottom: 1px solid #ddd;
position: relative;
margin-bottom: -1px;
}
.title {
font-size: 16px ;
padding-right: 130px;
}
.author {
padding: 0 ;
border-bottom: 0 ;
padding-left: 83px ;
}
.board-meta {
position: absolute;
right: 10px;
top: 25px;
z-index: 999;
width: 180px;
div {
display: block;
float: right;
margin-right: 10px;
text-align: center;
color: #999;
width: 50px;
overflow: hidden;
font-size: 12px;
i {
display: block;
margin-bottom: 8px;
text-align: center;
font-size: 22px;
line-height: 1;
padding: 0;
color: #ddd;
}
a {
color: #999;
&:hover {
color:#000;
}
}
}
}
}
.signin {
background-color: #fff;
margin-bottom: 15px;
border: 1px solid #ddd;
overflow: hidden;
.form-section {
&:focus {
i {
color: #444 ;
}
}
}
.form-text {
font-size: 12px;
padding: 10px 5px;
border: 0;
border-bottom: 1px solid #ddd;
width: 185px - 7px;
padding-left: 35px;
background-color: #fff;
}
.form-submit {
display: block;
width: 100%;
padding: 8px 0;
font-size: 12px;
text-align: center;
border: 0;
background-color: #f5f5f5;
text-shadow: 1px 1px 1px #ddd;
&:hover {
background-color:#444;
color: #fff;
cursor: pointer;
text-shadow: 1px 1px 1px #444;
}
}
}
.form-section {
position: relative;
}
.add-on {
position: absolute;
z-index: 1;
left: 12px;
top: 7px;
i {
display: block;
color: #ddd;
font-size: 16px;
}
}
/* cnt */
.archive-title {
font-size: 14px;
font-weight: normal;
color: #999;
i {
padding: 0px 8px;
}
a {
color: #999;
}
.cat-desc {
p {
display: inline;
font-size: 12px;
background-color: #fff;
padding: 2px 3px;
margin-left: 5px;
border: 1px solid #ddd;
.br;
}
}
}
.push-new-post {
float: right;
margin-top: -38px;
a {
display: block;
background-color: @key-color;
color: #fff;
.br;
padding: 3px 14px;
&:hover {
box-shadow:0px 1px 3px #ddd;
background-color: @key-color - #444;
}
}
}
/* pager */
.pager {
margin-top: 20px;
li {
float: left;
box-shadow: 0px 1px 3px #ddd;
a {
display: block;
font-size: 14px;
padding: 2px 8px;
background-color: #fff;
border: 1px solid #ddd;
margin-right: -1px;
&:hover {
background-color: @key-color;
color: #fff;
}
}
}
&.current-page {
background-color: @key-color;
color: #fff;
}
}
/* Footer */
#footer {
.copyright {
padding: 20px 0;
margin-top: 5px;
color: #999;
font-size: 12px;
a {
color: #999;
&:hover {
color: #000;
};
}
.candy {
padding-left: 13px;
background: url('/images/candy.png') no-repeat left center;
}
.powered {
text-align: right;
}
}
}
/*page*/
.page {
background-color: #fff;
.article {
padding: 10px;
border: 1px solid #ddd;
font-size: 12px;
line-height: 1.8;
.title {
font-size: 20px;
color: #444;
line-height: 1.5;
margin-bottom: 15px;
padding-bottom: 10px;
border-bottom: 1px solid #ddd;
}
}
}
/*comments*/
.comments-wrap {
margin-top: 20px;
.login-meta {
font-size: 12px;
color: #999;
margin: 0px 0px 10px;
a {
color: #999;
&:hover {
color: #444;
}
}
}
.form-text {
width: 180px;
border: 1px solid #ddd;
padding: 6px;
box-shadow: inset 0px 1px 5px #efefef;
.br;
}
label {
background-color: #f5f5f5;
padding: 8px 8px 8px 4px;
border: 1px solid #ddd;
margin-right: -5px;
.br;
}
.ta-wrap {
margin: 10px 0 0;
.br(2px);
.form-ta {
width: 97%;
line-height: 1.5;
height: 60px;
padding: 10px;
box-shadow: inset 0px 3px 25px #efefef;
}
}
.form-submit {
border: 1px solid #ddd;
background-color: @key-color;
padding: 3px 15px;
margin-top: 5px;
margin-bottom: 15px;
font-size: 12px;
color: #fff;
.br;
&:hover {
box-shadow: 0px 1px 5px #efefef;
background-color: #444;
}
}
}
.single-avatar {
float: left;
width: 60px;
overflow: hidden;
margin-right: 5px;
margin-left: 5px;
img {
.br(3px);
margin-top: 3px;
display: block;
box-shadow: 0px 1px 5px #ddd;
}
}
.single-comment {
background-color: #fff;
padding: 10px;
border: 1px solid #ddd;
margin-bottom: -1px;
box-shadow: 0px 2px 5px #ddd;
.comment-meta {
color: #999;
margin-bottom: 10px;
a {
color: #999;
}
}
.text {
line-height: 1.8;
}
}
/*sidebar*/
.side-cnt,.mime-block {
background-color: #fff;
border: 1px solid #ddd;
padding: 10px 0px;
margin-bottom: -1px;
text-shadow: 1px 1px 2px #fff;
overflow: hidden;
position: relative;
.title {
font-size: 12px;
color: #999;
margin-bottom: 10px;
font-weight: normal;
padding: 0px 10px;
margin-top: 5px;
}
input[type=text] {
border: 1px solid #ddd;
padding: 3px;
.br;
}
a {
color: #444;
font-size: 12px;
&:hover {
color:#999;
}
}
ul,ol {
padding-left: 0px;
margin-left: 0px;
display: block;
li {
color: #999;
margin-bottom: 1px;
overflow: hidden;
padding: 3px 9px;
padding-left: 12px;
&:hover {
i {
color: #444;
}
};
i {
color: #999;
padding-right: 8px;
}
&:hover {
background-color: #f5f5f5;
}
}
}
.avatar_container {
position: absolute;
right: 6px;
top: 6px;
z-index: 9;
img.avatar-mini {
width: 25px;
height: 25px;
border: 1px solid #ddd;
padding: 1px;
}
}
.pub-list {
border-top: 1px solid #ddd;
margin-top: 10px;
padding-top: 15px;
}
.single-pub {
padding: 12px 0;
h4 {
margin: 0;
line-height: 1;
a {
font-size: 14px;
i.icon-chevron-right {
color: @key-color;
}
}
}
span {
padding-left: 10px;
font-size: 12px;
color: #999;
}
}
}
/* sugars */
.tra (@second:0.25s) {
-webkit-transition: color @second linear, background-color @second linear, border-color @second linear;
-moz-transition: color @second linear, background-color @second linear, border-color @second linear;
-o-transition: color @second linear, background-color @second linear, border-color @second linear;
transition: color @second linear, background-color @second linear, border-color @second linear;
}
.br (@radius: 4px) {
border-radius: @radius;
-moz-border-radius: @radius;
-webkit-border-radius: @radius;
-o-border-radius:@radius;
}
.bs (@x: 1px, @y: 1px, @blur: 4px, @color: #efefef) {
box-shadow: @arguments;
-moz-box-shadow: @arguments;
-webkit-box-shadow: @arguments;
}
.text-shadow (@x: 1, @y: 1, @blur: 1px, @color: #000) {
text-shadow: @arguments;
-webkit-text-shadow: @arguments;
-moz-text-shadow: @arguments;
-o-text-shadow: @arguments;
}
.box() {
border: 1px solid #ddd;
background-color: #fff;
padding: 20px;
margin-bottom: 20px;
}
/* duoshuo */
.side-block {
font-size: 14px;
background-color: #fff;
border: 1px solid #ddd;
.br();
margin-bottom: 15px;
padding: 15px;
box-shadow: 0px 0px 10px #ddd;
h3 {
font-size: 14px;
font-weight: bold;
margin-bottom: 12px;
line-height: 1.5;
color: #444;
margin: -15px -15px 15px -15px;
padding-left: 15px;
padding-top: 15px;
padding-bottom: 10px;
border-bottom: 1px solid #ddd;
}
.desc {
margin-bottom: 20px;
}
a.signout {
padding-right: 6px;
font-size: 12px;
color: #999;
}
.avatar-mini {
width: 35px;
height: 35px;
padding: 1px;
margin-right: 6px;
margin-top: -4px;
}
}
.block-btn {
display: block;
background-color: #f5f5f5;
color: #444;
font-weight: bold;
padding: 10px 20px;
margin-bottom: 1px;
margin-left: -15px;
margin-right: -15px;
margin-top: 1px;
&:hover {
background-color: #444;
color: #fff;
};
}
.mime {
background-color: #fff;
.br();
box-shadow: 0px 0px 10px #ddd;
padding: 10px;
h3 {
margin-bottom: 10px;
padding-bottom: 10px;
margin-top: 0px;
font-size: 16px;
}
}
.search {
margin-bottom: 15px;
margin-top: 15px;
background-color: @key-color;
overflow: hidden;
.br();
i {
padding: 0px 6px;
color: #fff;
}
input {
height: 24px;
background-color: #f5f5f5;
box-shadow: inset 0px 0px 5px #ddd;
padding: 4px;
}
}
.comment-board {
background-color: #fff;
}
.star {
padding-left: 7px;
}
.breadcrumb {
margin-bottom: 0px;
padding: 0px 0px;
}
form.form-horizontal {
margin: 10px 0 0px;
.form-group {
border-top: 1px dashed #ddd;
margin-bottom: 1px;
padding: 12px 0;
label {
color: #444;
}
&:hover {
background-color: #f5f5f5;
label {
color: #000;
}
};
}
input,textarea {
padding: 5px;
box-shadow: none ;
border-color: #ddd;
}
textarea {
height: 150px;
}
}
#admin {
margin-bottom: 20px;
.nav {
font-size: 14px;
a {
color: #444;
}
span.badge {
margin-left: 10px;
}
}
.tab-pane {
padding: 15px;
border: 1px solid #ddd;
margin-top: -1px;
background-color: #fff;
}
#home {
.label {
.bs();
min-width: 80px;
font-size: 26px;
padding: 10px 20px;
.br(40px) !important;
display: block;
}
.dash-item {
border-bottom: 1px solid #ddd;
padding: 13px 15px;
.desc {
h3 {
font-size: 16px;
margin-top: 5px;
margin-bottom: 5px;
font-weight: bold;
color: #444;
}
color: #999;
}
}
}
#user {
.user {
.br(0);
border: 0;
padding: 0;
padding-bottom: 10px;
border-bottom: 1px solid #ddd;
margin-bottom: 10px;
.avatar {
width: 35px;
height: 35px;
.thumbnail();
}
span {
display: block;
padding-top: 8px;
float:left;
font-size: 12px;
color: #999;
}
}
}
#board {
.accordion-group {
box-shadow: inset 0px 0px 20px #f5f5f5;
.br(0);
margin-bottom: -1px;
&:hover {
box-shadow: inset 0px 0px 10px #f5f5f5;
};
}
.form-group {
border: 0;
}
.accordion-inner {
border: 0px;
margin: 0;
}
.accordion-heading {
.br(0);
margin-bottom: 0;
a {
}
}
.list-group-item {
background-color: transparent;
}
.board {
.br(0);
border:0;
padding: 10px 0;
border-bottom: 1px dashed #ddd;
margin-bottom: 0px;
margin-left: -15px;
margin-right: -15px;
font-size: 14px;
i {
font-size: 16px;
padding: 0px 4px;
}
span.name {
padding-right: 10px;
}
span.threads {
font-size: 14px;
}
span.desc {
color: #999;
font-size: 14px;
}
img {
width: 24px;
height: 24px;
margin-left: 5px;
.thumbnail()
}
}
}
}
.thumbnail() {
border: 1px solid #ddd;
padding: 1px;
background-color: #fff;
margin-right: 8px;
.br(3px);
.bs();
}
.no {
text-align: center;
color: #999;
font-size: 16px;
margin-left: -15px;
margin-right: -15px;
}
.bar {
div {
height: 6px;
width: 8.33333333333%;
float: left;
}
.c1 {
background-color: #2ECC71;
}
.c2 {
background-color: #9B59B6;
}
.c3 {
background-color: #E67E22;
}
.c4 {
background-color: #F39C12;
}
.c5 {
background-color: #E74C3C;
}
.c6 {
background-color: #95A5A6;
}
.c7 {
background-color: #2C3E50;
}
.c8 {
background-color: #8E44AD;
}
.c9 {
background-color: #27AE60;
}
.c10 {
background-color: #16A085;
}
.c11 {
background-color: #1ABC9C;
}
.c12 {
background-color: #D35400;
}
}
img.avatar-micro {
width: 20px;
height: 20px;
border: 1px solid #ddd;
padding: 1px;
margin: 0px 4px;
.thumbnail();
}
img.avatar-mid {
width: 50px;
height: 50px;
border: 1px solid #ddd;
padding: 1px;
margin: 0px 4px;
.thumbnail();
}
.thread {
form {
margin: 0;
padding: 0;
}
.form-group {
border: 0 ;
padding: 0px 0px 18px ;
background-color: transparent ;
}
.editor {
.editor-toolbar {
background-color: #fff;
border: 1px solid #ddd;
padding: 0px 10px;
margin-bottom: -2px;
.br();
}
.CodeMirror {
background-color: #fff;
box-shadow: inset 0px 0px 3px #ddd;
border: 1px solid #ddd;
padding: 10px;
.br();
}
}
}
i.icon-spinner {
padding: 0 ;
}
h3.syncing {
font-weight: bold;
font-size: 18px;
text-align: center;
color: #444;
padding: 20px 0;
line-height: 1;
margin: 0;
}
.not-found {
h3 {
font-size: 40px;
}
span {
font-size: 14px;
}
}
.pagination {
i {
padding: 0;
}
}
.error-detail {
font-size: 12px;
padding-left: 76px;
color: #999;
}
.uploader {
background-color: #f5f5f5;
margin-top: -20px;
padding: 1px;
border: 1px solid #ddd;
.btn {
font-size: 12px;
.br(0px);
}
.files {
font-size: 12px;
padding-top: 8px;
}
#progress {
height: 31px;
padding: 0;
.br(0px);
display: block;
margin-bottom: 0px;
box-shadow: none;
.progress-bar {
text-align: center;
font-size: 14px;
line-height: 31px;
}
}
}
#files {
padding-left: 0px;
margin-top: -1px;
li {
margin-left: 0px;
.br(0px);
border: 1px solid #ddd;
}
}
.thread-submit {
padding: 0px;
margin-bottom: 20px;
a.btn {
text-align: left;
.br(0px);
font-size: 14px;
padding: 5px 15px;
display: block;
text-shadow: none;
}
a.submit {
color: #fff;
}
a.remove {
color: #999;
font-size: 12px;
i {
padding-right: 12px;
font-size: 14px;
}
&:hover {
color: red;
};
}
}
#boards-dropdown {
background-color: #fff;
padding: 20px 0;
}
.footer {
border-top: 1px solid #ddd;
background-color: #fff;
padding-bottom: 10px;
margin-top: 20px;
}
#cnt {
padding-top: 20px;
}