habitica/public/css/avatar.styl

97 lines
2.3 KiB
Stylus
Raw Normal View History

2013-03-19 03:42:03 +00:00
/* herobox & avatar
======================
* this is the canonical `herobox` avatar component
* it can be placed anywhere on the site and look the
* way it's supposed to. TODO: add variables for show/
* or hiding user metadata in different situations
2013-02-08 18:29:09 +00:00
2013-03-19 03:42:03 +00:00
Seeing as the sprites might change drastically in the
future re: pets and whatnot, this is just temporary.
---------------------------------------------------- */
2013-02-08 18:29:09 +00:00
2013-03-19 03:42:03 +00:00
// basic herobox styles
.herobox
height: 10.5em // higher to acct for the name area
width: 10em
max-width: 10em
margin: 0 // need this b/c of bootstrap, remove or reset later
position: relative
cursor: pointer
background: #f5f5f5
transition: border 0.25s ease-out, background 0.25s ease-out//, padding 0.13s ease-out
2013-03-19 03:42:03 +00:00
outline: 1px solid rgba(0,0,0,0.1)
// padding: 0 // push down the sprite
2013-02-08 18:29:09 +00:00
2013-03-19 03:42:03 +00:00
// the hero's info frame
.herobox:after
content: attr(data-name) //" " "lvl " attr(data-level) // " " attr(data-class)
2013-03-19 03:42:03 +00:00
position: absolute
top: 0
display: block
width: 100%
line-height: 2
color: black
text-align: center
border-bottom: 1px solid rgba(0,0,0,0.1)
background: darken($good, 15%)
transition: opacity 0.2s ease-out
2013-02-08 18:57:20 +00:00
// info revealed on hover/focus for party
// always visible on the user's own avatar
.herobox:after
opacity: 0
.herobox.isUser:after
opacity: 1
// make it a bit special
background darken($better, 15%)
.character-sprites span
2013-03-16 19:09:16 +00:00
position: absolute
#profileStable
.active
border 1px solid black
// vertically center avatar sprite
// depending on if they have a pet
.herobox.hasPet
padding-top: 2em
.herobox:not(.hasPet)
padding-top: 1.75em
// if it is the user's avatar, check if
// they have a pet and pad accordingly
.herobox.hasPet.isUser
padding-top: 3.25em
2013-03-21 18:49:07 +00:00
// if not user's avatar, remove lines for party unity
.herobox:not(.isUser)
2013-03-21 18:49:07 +00:00
outline: 0
2013-03-19 03:42:03 +00:00
// expose hero info on hover, taking
// into account the extra pet space
.herobox:hover, .herobox:focus
background: desaturate(lighten($better, 30%), 10%)
&:after
opacity: 1
/* .herobox.hasPet
2013-03-19 03:42:03 +00:00
&:hover, &:focus
padding-top: 3.25em
.herobox:not(.hasPet)
2013-03-19 03:42:03 +00:00
&:hover, &:focus
padding-top: 2.5em */
2013-03-19 03:42:03 +00:00
// positioning the sprites, etc
.herobox
.character-sprites
width: 6.428571429em // 90px
height: 6.428571429em
margin: 0 auto
.character-sprites span, .pet
position: absolute
.herobox.isLeader
background: $better