事情已经失控。
我的应用即将完成,只有少数 unanswered SO questions 。
我现在开始清理我的代码,从样式表开始。
起初有一种疯狂的方法,但随后我随意开始将代码放入两个文件中的一个: bootstrap_and_customization.css.scss &的 attributes.css.scss
忽略这些生成的文件:
不要求您清理我的代码,只是询问有关哪些内容适合您和最佳做法的建议。我在网上找不到任何明确的答案:
我应该删除这些附加文件还是从两个文件中分散我的代码?而且我还想重命名一些课程和id更清楚地表示他们的行为,而不是像.america
那样挑选任意名称。
您对如何执行此操作有任何建议或最佳做法吗?
bootstrap_and_customization.css.scss
@import url(http://fonts.googleapis.com/css?family=Lato:400,700);
$body-bg: #fff;
$font-family-sans-serif: 'Lato', 'Helvetica Neue', Helvetica, Arial, sans-serif;
$navbar-height: 45px;
$navbar-default-bg: white;
$navbar-default-brand-color: #446CB3;
$brand-primary: #000;
$jumbotron-bg: #FFFFFF;
@import 'bootstrap-sprockets';
@import 'bootstrap';
.valuation-padding {
padding-bottom: 13px;
}
.comment-content-padding {
padding-top: 30px;
}
.pagination {
vertical-align: center;
text-align: center;
.active {
a {
color: white;
background-color: #446CB3;
}
}
a {
color: white;
background-color: #446CB3;
}
}
.pagination > li > a, .pagination > li > span {
color: #446CB3;
}
//////
.padding-feed {
padding-left: 30px;
}
.float-feed {
float: left;
display: inline-block;
}
.activities {
padding-top: 30px;
padding-bottom: 30px;
em {
color: #777;
font-size: 12px;
padding-left: 5px;
}
}
.comment-border {
border-bottom: solid 1px #CCC;
padding: 5px 0;
em {
color: #777;
font-size: 12px;
padding-left: 5px;
}
}
////////
.comments-same-line {
display: inline-block;
}
.ad {
width: 100%;
}
.col-xs-2 {
float: none;
padding-left: 0px;
width: 9.6666666667%;
}
#two.form-control {
background-color: #ecf0f1;
padding-right: 5px;
margin-top: 0px;
margin-bottom: 0px;
}
.form-control {
margin-top: 15px;
margin-bottom: 15px;
}
body { padding-bottom: 100px; }
.bad-pad {
display: inline-block;
padding-left: .5em;
}
.label-primary {
background-color: #446CB3;
color: white !important;
a {
color: white;
}
}
.label-info {
background-color: #446CB3;
color: white !important;
a {
color: white;
}
}
.label-warning {
background-color: #ccac00;
color: white !important;
vertical-align: middle;
display: inline-block;
a {
color: white;
}
}
.label-danger {
background-color: #c0392b;
vertical-align: middle;
a {
color: white;
}
}
.badge {
background-color: #ccac00;
font-size: 12px
}
#red.badge {
background-color: red;
}
.habit-space {
padding-bottom: 25px;
display: block;
}
.shrink-center {
padding-left: 10em;
padding-right: 10em;
padding-top: 25px;
padding-bottom: .5em;
display: block;
}
// Span progressbar from badge to badge
td.stretch {
width: 350px;
vertical-align: center;
}
// Condense badges to sit up against progressbar
td.condense-red {
color: white;
text-align: center;
width: 80px;
font-size: 75%;
font-weight: bold;
padding-right: 2px;
padding-left: 2px;
background-color: #c0392b;
}
td.condense-gold {
color: white;
text-align: center;
width: 80px;
font-size: 75%;
font-weight: bold;
padding-right: 2px;
padding-left: 2px;
background-color: #446CB3;
}
// Position progressbar in the middle and more
.progress {
margin-bottom: 0px;
border-radius: 0px;
}
// Make progress bar's progress default blue
.progress-bar{
background-color: #446CB3;
font-size: 75%;
font-weight: bold;
}
.h {
display: block;
font-size: 50px;
margin-top: .87em;
margin-bottom: .4em;
margin-left: 0;
margin-right: 0;
font-weight: bold;
}
.float-right {
float: right;
}
.float-right {
float: left;
}
.page-header {
border-bottom: 1px solid #eee;
}
.gold-standard {
color: #ccac00;
a {
color: #ccac00;
}
}
#gold-standard {
border-color: #ccac00;
}
.btn {
background: #446CB3;
color: #ffffff;
}
#gold.btn {
background: #ccac00;
}
#red.btn {
background: #c0392b;
}
.btn:hover {
background: #3cb0fd;
background-image: -webkit-linear-gradient(top, #3cb0fd, #3498db);
background-image: -moz-linear-gradient(top, #3cb0fd, #3498db);
background-image: -ms-linear-gradient(top, #3cb0fd, #3498db);
background-image: -o-linear-gradient(top, #3cb0fd, #3498db);
background-image: linear-gradient(to bottom, #3cb0fd, #3498db);
text-decoration: none;
}
.btn:active{
color: #FFFFFF;
}
.jumbotron {
background-color: #446CB3;
color: white;
padding-top: 35px;
padding-bottom: 40px;
text-align: left;
padding-left: 36px;
p {
color: #a0b4f0;
}
}
.link-jumbotron {
a {
color: #a0b4f0;
}
}
.navbar { margin-bottom: 0 }
.green {
a {
color: #ccac00;
}
color: #ccac00;
padding-top: 2px;
padding-bottom: 2px;
}
.striked {
color: red;
}
.red {
vertical-align: center;
a {
color: #c0392b;
}
color: #c0392b;
padding-top: 2px;
padding-bottom: 2px;
}
.navbar-brand {
margin-left: 0px !important;
}
/* link */
.navbar-default .navbar-nav > li > a {
color: #446CB3;
}
.panel-default > .panel-heading {
background-color: #2E2E2E;
color: white;
}
.panel-default {
border-style: none;
}
.sidebar-daddy {
border-style: solid;
border-width: 1px;
border-color: #eee;
}
#sidebarheadingtop {
padding-top: .1em;
border: none;
border-radius: 0px;
background-color: #446CB3;
color: white;
padding-bottom: 3px;
}
#sidebarheading {
padding-top: .1em;
border-radius: 0px;
border: none;
background-color: #446CB3;
color: white;
padding-bottom: 3px;
}
#sidebarsectiontop {
margin-top: 0px;
margin-bottom: 0px;
border-bottom-right-radius: 0em 0em;
border-bottom-left-radius: 0em 0em;
border-style: none;
}
#sidebarsection {
margin-top: 0px;
margin-bottom: 0px;
border-radius: 0px;
border-style: none;
}
#sidebarsectionbottom {
margin-top: 0px;
margin-bottom: 0px;
border-top-radius: 0px;
border-style: none;
}
.center {
text-align: center;
}
.navbar-brand {
font-weight: bold;
}
a {
&:hover {
color: #666;
text-decoration: none;
}
}
attributes.css.scss
// Place all the styles related to the Values controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
//sidebar
.ingrain-padding {
padding-top: 1em;
padding-bottom: 1em;
padding-left: 1em;
padding-right: 1em;
display: inline-block;
ul {
margin-bottom: 0px;
}
}
.recommendations-padding {
padding-top: 1em;
padding-bottom: 1em;
padding-left: 1em;
padding-right: 1em;
}
#tag_cloud {
padding-left: 1em;
padding-right: 1em;
padding-top: 1em;
padding-bottom: 1em;
line-height: 1.6em;
.s { font-size: 10px; }
.m { font-size: 14px; }
.l { font-size: 18px; }
}
.stats-left {
display: inline-block;
width: 50%;
}
.stats-right {
vertical-align: top;
display: inline-block;
width: 50%;
}
.blue-background {
background-color: #446CB3;
padding-left: 15px;
a {
color: white;
}
}
.full-blue-background {
background-color: #446CB3;
width: 100%;
text-align: center;
border: solid #eee;
border-width: 1px 0px 1px 0px;
a {
color: white;
}
}
.gold-background {
background-color: #ccac00;
padding-left: 15px;
a {
color: white;
}
}
.border-box-1 {
border: solid #eee;
border-width: 1px 1px 0px 0px;
}
.border-box-2 {
border: solid #eee;
border-width: 1px 1px 0px 0px;
}
.border-box-3 {
border: solid #eee;
border-width: 1px 1px 0px 0px;
}
.border-box-4 {
border: solid #eee;
border-width: 1px 1px 0px 0px;
}
.border-box-5 {
border: solid #eee;
border-width: 1px 0px 0px 0px;
}
.border-box-6 {
border: solid #eee;
border-width: 1px 0px 0px 0px;
}
.border-box-7 {
border: solid #eee;
border-width: 1px 0px 0px 0px;
}
.border-box-8 {
border: solid #eee;
border-width: 1px 0px 0px 0px;
}
.count-padding {
display: inline-block;
padding-top: .8em;
padding-bottom: .8em;
padding-left: .9em;
padding-right: .9em;
font-size: 80%;
font-weight: bold;
}
.goal-padding {
padding-top: .5em;
padding-bottom: .5em;
padding-left: 1em;
padding-right: 1em;
}
.goalname {
padding-top: .7em;
padding-bottom: .7em;
padding-right: .5em;
}
.goaldeadline {
width: 70px;
padding-left: .2em;
padding-right: 1em;
padding-top: .7em;
padding-bottom: .7em;
}
#white {
color: white;
}
.deadline_label_class {
display: inline;
}
.quantified-horizontal {
width:150px;
display:inline-block;
vertical-align:top;
}
.set-stat {
display: block;
margin-left: 12px;
}
.set {
width: 7%;
vertical-align: top;
}
.habits {
display: block;
margin-top: 10px;
margin-bottom: 20px;
}
// Add indenting and background to root route
.add-padding-background {
padding-left: 1.5em;
padding-right: 1.5em;
background: #f7f7f9;
}
// Add indenting to root route
.add-padding {
padding-left: 1.5em;
padding-right: 1.5em;
}
.test {
padding-left: 1.2em;
padding-right: 1.2em;
padding-top: 1.2em;
padding-bottom: 1.2em;
}
body {color:black;}
.gold-standard {color:#ccac00;}
table {
padding-top: 1.2em;
padding-bottom: 1.2em;
}
.valuation {
display: block;
margin-top: 10px;
margin-bottom: 20px;
}
.goals {
display: block;
margin-top: 8px;
margin-bottom: 8px;
}
.comment {
padding-left: 1.2em;
padding-right: 1.2em;
}
.stats {
* {
padding: 0px;
margin: 0px
}
display: inline-block;
padding-left: .5em;
padding-right: .5em;
padding-top: .1em;
padding-bottom: .1em;
a {
color: #a0b4f0;
font-size: 21px;
font-weight: 200;
}
}
.america {
padding-top: 1.5em;
padding-bottom: 1.5em;
padding-left: 1.2em;
padding-right: 1.2em;
}
.feed-padding {
padding-top: 1.5em;
padding-bottom: 1.5em;
padding-left: 7em;
padding-right: 7em;
}
.feed-button-padding {
padding-bottom: 1.5em;
}
.comment-background {
background-color: #f7f7f9;
border: 1px solid #e1e1e8;
padding-top: .9em;
padding-bottom: .9em;
padding-left: .9em;
padding-right: .9em;
border-radius: 4px;
}
.center-buttons {
margin-left: 35%;
}
.center-buttons-feed {
margin-left: 40%;
}
.center-buttons-feed-2 {
padding-top: 2px;
padding-left: 10px;
margin-left: 46%;
}
.center-buttons-feed-3 {
margin-left: 46%;
}
.like-float {
padding-top: 12px;
float: left;
padding-left: 15px;
}
.centered {
padding: 7px;
float: left;
display: inline-block;
}
.middle {
text-align: center;
}
.category {
float: right;
}
td {
padding-top: .7em;
padding-bottom: .7em;
padding-left: .7em;
padding-right: .7em;
}
.valuations-button {
margin-top : -9px;
margin-left : 10px;
}
ul
{
list-style-type: none;
padding:0; margin:0;
}
select {
width: 30.1%;
border: 1px solid #cccccc;
background-color: #ecf0f1;
}
// Breaks down quantifieds horizontally
.attempt {
width:150px;
display:inline-block;
vertical-align:top;
padding: .8em .8em .8em .8em;
}
.america1 {
float: left;
}
.deadline {
width: 8%
}
.goal {
width: 70%
}
.valuations-button {
margin-top : -9px;
margin-left : 10px;
}
.missed {
text-align: right;
color: #c0392b;
font-weight: bold;
clear: both;
}
.collection_check_boxes {
margin-left: 3px;
margin-right: 6px;
}
.committed {
text-align: center;
}
.text_field {
margin: 5px 5px 0px 5px;
}
.valuations-button {
margin-top : -9px;
margin-left : 10px;
}
.valuations-button {
margin-top : -9px;
margin-left : 10px;
}
.sidebar {
background: #F8F8F8;
border: #E7E7E7;
border-style: solid;
border-width: 1.5px;
border-radius: 5px;
}
感谢您的指导!
答案 0 :(得分:0)
好的,这个网站对于正确的命名约定非常有用:
http://www.apppie.org/pages/approach/naming.html
“避免名称中的演示文稿或位置特定的字词,如蓝色, 文本灰色或侧块。当你决定改变时会发生什么 颜色?班级蓝色实际上是红色的吗?
不要使用描述元素内容的类名。一天 你可以想出一个类名.products-list和另一天 您注意到产品列表样式非常适合列表 鸣叫。那你会怎么做?重新实现.products-list与之相同 样式,但称之为.tweets-list或只是让推文活在里面 。产品列表?最好给它一个像.entries这样的抽象名称 从一开始。
名称应为小写,使用短划线 - 作为分隔符 多字的类名。它清晰,可读,可以区分CSS 强调案件和骆驼案件命名。
使用完整的描述性词语。缩写一个单词可能会为您节省一些 最初键入的毫秒数,但可能会使您的代码难以阅读, 花费你更多时间在路上。在这个意志中保持一致 为您节省考虑如何缩写单词的时间 几个月前。
使用名词命名对象和模块。
在命名修饰符和状态时,请使用形容词 描述对象的类型或状态。“
关于如何组织样式表,我只会使用bootstrap覆盖bootstrap,其他所有内容都会进入属性,因为将其分解为各种文件会产生更多的冗余,因为我在多个地方使用了类。