Mercurial > nebulaweb3
diff default/assets/scss/components/_cards.scss @ 0:1d038bc9b3d2 default tip
Up:default
author | Liny <dev@neowd.com> |
---|---|
date | Sat, 31 May 2025 09:21:51 +0800 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/default/assets/scss/components/_cards.scss Sat May 31 09:21:51 2025 +0800 @@ -0,0 +1,290 @@ +// main: ../style.scss +/******************************** +********************************* +Card +********************************* +*********************************/ +.card { + &[class*='bg']:not([class*='card-inverse']) { + .card-header { + background: inherit; + } + } +} + +@each $col, $val in $colors { + .card-#{$col} { + background: #{$val}; + } +} + +.card-title { + margin-top: 0; +} + +.card-header { + .list-icon { + position: absolute; + right: rem(10); + top: rem(10); + width: rem(50); + height: rem(50); + text-align: center; + line-height: rem(50); + border-radius: 100%; + transition: transform $transition-duration $transition-function; + } +} + +.card-action { + border-top: $card-border-width solid $card-border-color; + padding: $card-spacer-x; +} + +.card-link { + .text-inverse &:hover, + &:hover { + text-decoration: none; + } + & + .card-link { margin-left: 1em } +} + +.card-expandable { + .card-body, .card-action { + display: none; + } + + &.card-expanded .card-body, + &.card-expanded .card-action { + display: block; + } + + &.card-expanded .list-icon { + transform: rotate(180deg); + } + + .card-header { + cursor: pointer; + } +} + +.card-outline { + @each $col, $val in $theme-colors { + &-#{$col} { + border-color: #{$val}; + .card-footer, + .card-header { + background: #{$val}; + } + } + } + @each $col, $val in $colors { + &-#{$col} { + border-color: #{$val}; + .card-footer, + .card-header { + background: #{$val}; + } + } + } +} + +[class*='card-outline'] { + .card-block { + background: #fff; + border-bottom-left-radius: $card-border-radius; + border-bottom-right-radius: $card-border-radius; + } + .card-footer, + .card-header { + color: #fff; + h1, h2, h3, h4, h5, h6 { + color: inherit; + } + } +} + +.card-body { + z-index: 1; +} + +.blog-post-new { + .card-header { + position: relative; + z-index: 1; + &::before { + content: ""; + @include position(absolute, null 0 0); + height: em(100); + transform: skewY(-4deg) translateY(70%); + background: #fff; + z-index: 0; + } + + .user-image { + position: absolute; + right: em(40); + bottom: em(-5); + } + + .badge { + position: absolute; + padding: em(8) em(16); + top: em(20); + left: em(20); + &::before { + content: ""; + position: absolute; + right: em(-14); + top: 0; + border-style: solid; + border-width: 0px 0 15.5px 14px; + border-color: transparent transparent transparent #e6614f; + } + &::after { + content: ""; + position: absolute; + right: em(-14); + bottom: 0; + border-style: solid; + border-width: 15.5px 0 0 14px; + border-color: transparent transparent transparent #e6614f; + } + } + } + + .card-body { + padding-left: em(30); + padding-right: em(30); + p { + font-size: em(13); + line-height: em(25); + } + } + + .card-action { + a { + font-weight: 400; + font-size: em(13); + i { font-size: em(16); } + } + } + + body.rtl & { + .card-header .user-image { + right: auto; + left: em(40); + } + } +} + +.listing-card { + background: #fff; + border-radius: 3px; + overflow: hidden; + margin-bottom: $grid-gutter-width; + width: 100%; + + header, .card-info, footer { + padding-left: 15px; + padding-right: 15px; + } + + h4 { + font-size: em(24,15); + } + + figure { + position: relative; + a:not(.add-to-favourites) { + display: block; + } + img { + width: 100%; + height: auto; + } + } + + .add-to-favourites { + position: absolute; + top: 15px; + right: 15px; + padding: 10px; + border-radius: 3px; + background: #000; + opacity: .6; + color: #fff; + line-height: 1; + + &:hover { + opacity: .8; + } + + i { + font-size: em(16,15); + line-height: 1; + } + } + + .card-info { + font-family: $headings-font-family; + font-size: em(14,15); + color: #bbb; + font-weight: 500; + margin-top: em(25); + letter-spacing: -1px; + + strong { + color: #666; + } + } + + svg { + width: 36px; + height: 36px; + vertical-align: middle; + position: relative; + top: -2px; + } + + .card-info-baths svg { + top: -6px; + } + + .card-info path, + .card-info line, + .card-info g { + stroke: #bbb; + } + + header { + color: #666; + margin-top: rem(30); + } + + footer { + padding-top: 15px; + padding-bottom: 20px; + border-top: 1px solid $theme-border-color; + } + + footer .float-left { + font-family: $headings-font-family; + font-size: em(13,15); + font-weight: 600; + padding-top: 5px; + + i { + position: relative; + top: 2px; + margin-right: 5px; + } + } + + .btn { + text-transform: uppercase; + font-weight: 700; + letter-spacing: 0px; + font-size: em(11,15); + } +}