framework7-without-localstorage
Version:
Full featured mobile HTML framework for building iOS & Android apps
207 lines (204 loc) • 4.63 kB
text/less
/* === Messages === */
@messagesAvatarSize: 48px;
.messages-content {
background: #eee;
}
.messages {
.flexbox();
-webkit-box-orient: vertical;
-moz-box-orient: vertical;
-ms-flex-direction: column;
-webkit-flex-direction: column;
flex-direction: column;
}
.messages-date {
text-align: center;
font-weight: 500;
font-size: 12px;
line-height: 1;
margin: 10px 15px;
span {
font-weight: 400;
}
}
.message {
box-sizing: border-box;
margin: 0px 8px 8px 8px;
max-width: 80%;
.flexbox();
-webkit-box-orient: vertical;
-moz-box-orient: vertical;
-ms-flex-direction: column;
-webkit-flex-direction: column;
flex-direction: column;
&:first-child {
margin-top: 8px;
}
&.message-pic {
img {
display: block;
}
}
}
.message-name, .message-label, .message-date, .messages-date {
color:rgba(0,0,0,0.51);
}
.message-name {
font-size: 12px;
line-height: 1;
margin-bottom: 2px;
margin-top: 7px;
.message-hide-name & {
display: none;
}
}
.message-label {
font-size: 12px;
line-height: 1;
margin-top: 4px;
.message-hide-label & {
display: none;
}
}
.message-avatar {
width: @messagesAvatarSize;
height: @messagesAvatarSize;
border-radius: 100%;
margin-top: -@messagesAvatarSize;
position: relative;
top: 1px;
background-size: cover;
opacity: 1;
.transition(400ms);
.message-hide-avatar & {
opacity: 0;
}
}
.message-text {
box-sizing: border-box;
border-radius: 2px;
padding: 6px 8px;
min-width: 48px;
font-size: 16px;
line-height: 1.2;
word-break: break-word;
color:#333;
min-height: @messagesAvatarSize;
position: relative;
.translate3d(0,0,0);
img {
max-width: 100%;
height: auto;
}
.message-pic & {
padding: 8px;
}
}
.message-date {
font-size: 12px;
margin-top: 4px;
.message-pic img + & {
margin-top: 8px;
}
}
.message-sent {
-ms-flex-item-align: end;
-webkit-align-self: flex-end;
align-self: flex-end;
.align-items(flex-end);
.message-name, .message-label {
margin-right: 8px;
}
.message-text {
background-color: #C8E6C9;
margin-left: auto;
border-radius: 2px 2px 0 2px;
margin-right: 8px;
&:before {
position: absolute;
content: '';
border-left: 0px solid transparent;
border-right: 8px solid transparent;
border-bottom: 8px solid #C8E6C9;
left: 100%;
bottom: 0;
width: 0;
height: 0;
}
}
&.message-with-avatar {
.message-text, .message-name, .message-label {
margin-right: @messagesAvatarSize + 8px;
}
}
}
.message-received {
-ms-flex-item-align: start;
-webkit-align-self: flex-start;
align-self: flex-start;
.align-items(flex-start);
.message-text {
background-color: #fff;
border-radius: 2px 2px 2px 0px;
margin-left: 8px;
&:before {
position: absolute;
content: '';
border-left: 8px solid transparent;
border-right: 0px solid transparent;
border-bottom: 8px solid #fff;
right: 100%;
bottom: 0;
width: 0;
height: 0;
}
}
.message-name, .message-label {
margin-left: 8px;
}
&.message-with-avatar {
.message-text, .message-name, .message-label {
margin-left: @messagesAvatarSize + 8px;
}
}
}
.message-appear-from-bottom {
-webkit-animation: messageAppearFromBottom 400ms;
animation: messageAppearFromBottom 400ms;
}
.message-appear-from-top {
-webkit-animation: messageAppearFromTop 400ms;
animation: messageAppearFromTop 400ms;
}
@-webkit-keyframes messageAppearFromBottom {
from {
-webkit-transform: translate3d(0,100%,0);
}
to {
-webkit-transform: translate3d(0,0,0);
}
}
@keyframes messageAppearFromBottom {
from {
transform: translate3d(0,100%,0);
}
to {
transform: translate3d(0,0,0);
}
}
@-webkit-keyframes messageAppearFromTop {
from {
-webkit-transform: translate3d(0,-100%,0);
}
to {
-webkit-transform: translate3d(0,0,0);
}
}
@keyframes messageAppearFromTop {
from {
transform: translate3d(0,-100%,0);
}
to {
transform: translate3d(0,0,0);
}
}