vue-c-steps
Version:
A Vue component of steps view.
146 lines (123 loc) • 2.7 kB
CSS
.vue-steps {
display: flex;
text-align: left;
flex-flow: row nowrap;
}
.vue-steps .steps-nav {
flex-grow: 0;
background-color: #f5f5f5;
border: 1px solid #ddd;
color: #777;
font-size: 14px;
}
.vue-steps .steps-nav ul {
list-style: none;
padding: 0;
margin: 0;
width: 200px;
}
.vue-steps .steps-nav > ul {
overflow-y: auto;
overflow-x:visible;
}
.vue-steps .steps-nav li.step-nav-item {
cursor: pointer;
font-weight: bold;
}
.vue-steps .steps-nav li.step-nav-item.active {
background-color: #fff;
}
.vue-steps .steps-nav li.step-nav-item > div {
display: flex;
flex-wrap: nowrap;
align-items: center;
position: relative;
}
.vue-steps .steps-nav li.step-nav-item .s-progress {
margin: 0 .5em;
width: .6em;
background-color: #eee;
left: .5em;
top: 0;
bottom: 0;
position: absolute;
}
.vue-steps .steps-nav li.step-nav-item .s-progress + div {
margin-left: 2.5em;
}
.vue-steps .steps-nav .level-1 li.step-nav-item.visited .s-progress,
.vue-steps .steps-nav .level-1 li.step-nav-item.active .s-progress {
background-color: #3c8dbc;
}
.vue-steps .steps-nav .level-1 li.step-nav-item:first-of-type .s-progress{
border-radius: .5em .5em 0 0;
top: 3px;
}
.vue-steps .steps-nav .level-1 li.step-nav-item:last-of-type .s-progress{
border-radius: 0 0 .5em .5em;
bottom: 3px;
}
.vue-steps .steps-nav li.step-nav-item .identifier {
padding: 0 1em;
}
.vue-steps .steps-nav li.step-nav-item .nav-title {
flex-grow: 1;
line-height: 1.5em;
padding: 1em .5em;
font-weight: 600;
}
.vue-steps .steps-nav .active > div {
color: #3c8dbc;
}
.vue-steps .steps-nav .visited > div {
color: #2c8dac;
}
.vue-steps .steps-nav li:hover {
background-color: #eee;
}
.vue-steps .steps-nav .step-nav-item {
padding: 0;
line-height: 2.5em;
}
.vue-steps .steps-nav .step-nav-item ul {
font-size: 1em;
background-color: #fff;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
}
.vue-steps .steps-nav .step-nav-item ul .nav-title {
font-weight: normal;
}
.vue-steps .steps-content {
position: relative;
flex-grow: 1;
padding: 10px;
}
.vue-steps .steps-content .steps-content-wrap {
overflow: auto;
}
.vue-steps .steps-content .buttons {
position: absolute;
left: 0;
right: 0;
padding: 10px;
background-color: #fff;
border-top: 1px solid #eee;
text-align: right;
}
.vue-steps .buttons button {
padding: 6px 12px;
font-size: 14px;
font-weight: 400;
text-align: center;
border: 1px solid #ccc;
border-radius: 3px;
color: #333;
}
.vue-steps .buttons .btn-primary,
.vue-steps .buttons .btn-success {
color: #fff;
}
.vue-steps .buttons button + button {
margin-left: 15px;
}