mirror of
https://github.com/flarum/framework.git
synced 2024-11-29 04:33:47 +08:00
bb817d9a90
* fix: show post action items when focus is within the post * fix: add missing `&`
449 lines
7.4 KiB
Plaintext
449 lines
7.4 KiB
Plaintext
// ------------------------------------
|
|
// Posts
|
|
|
|
.Post {
|
|
padding: 20px;
|
|
margin: -1px -20px;
|
|
transition: 0.2s box-shadow, top 0.2s, opacity 0.2s;
|
|
position: relative;
|
|
top: 0;
|
|
border-radius: var(--border-radius);
|
|
.clearfix();
|
|
|
|
&.editing {
|
|
top: 5px;
|
|
opacity: 0.5;
|
|
}
|
|
}
|
|
|
|
.Post-header {
|
|
margin-bottom: 15px;
|
|
color: var(--muted-color);
|
|
|
|
&, a {
|
|
color: var(--muted-color);
|
|
}
|
|
> ul {
|
|
list-style-type: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
|
|
> li {
|
|
display: inline;
|
|
margin-right: 10px;
|
|
}
|
|
}
|
|
}
|
|
.PostUser {
|
|
margin: 0;
|
|
display: inline;
|
|
font-weight: normal;
|
|
position: relative;
|
|
|
|
h3 {
|
|
display: inline;
|
|
}
|
|
h3, h3 a {
|
|
color: var(--heading-color);
|
|
font-weight: bold;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.UserOnline {
|
|
margin-right: 5px;
|
|
|
|
& .icon {
|
|
font-size: 12px;
|
|
}
|
|
& .fa-circle {
|
|
color: var(--online-user-circle-color);
|
|
}
|
|
}
|
|
|
|
.UserCard {
|
|
position: absolute;
|
|
top: -10px;
|
|
left: -100px;
|
|
z-index: var(--zindex-dropdown);
|
|
transition: opacity 0.2s, transform 0.2s;
|
|
transform: scale(0.95);
|
|
transform-origin: left top;
|
|
opacity: 0;
|
|
|
|
&.in {
|
|
transform: scale(1);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
}
|
|
.PostUser-badges {
|
|
text-align: right;
|
|
white-space: nowrap;
|
|
pointer-events: none;
|
|
|
|
.Badge {
|
|
margin-left: -10px;
|
|
position: relative;
|
|
pointer-events: auto;
|
|
}
|
|
}
|
|
|
|
.Post-body {
|
|
font-size: 14px;
|
|
line-height: 1.7;
|
|
position: relative;
|
|
overflow: auto;
|
|
overflow-wrap: break-word;
|
|
|
|
p, ul, ol, blockquote {
|
|
margin-bottom: 1em;
|
|
}
|
|
a {
|
|
border-bottom: 1px solid var(--control-bg);
|
|
font-weight: 600;
|
|
|
|
&:hover, &:focus, &:active {
|
|
text-decoration: none;
|
|
border-color: var(--link-color);
|
|
}
|
|
}
|
|
blockquote {
|
|
font-size: inherit;
|
|
border: 0;
|
|
background: var(--control-bg);
|
|
color: var(--control-color);
|
|
border-radius: var(--border-radius);
|
|
padding: 8px 15px;
|
|
border-top: 2px dotted var(--body-bg);
|
|
border-bottom: 2px dotted var(--body-bg);
|
|
margin: 1em 0;
|
|
}
|
|
// Inline code
|
|
code {
|
|
font-family: source-code-pro, Monaco, Consolas, "Courier New", monospace;
|
|
padding: 5px;
|
|
background: var(--code-bg);
|
|
color: var(--code-color);
|
|
line-height: 1.3;
|
|
font-size: 90%;
|
|
border-radius: 4px
|
|
}
|
|
// Code blocks
|
|
pre {
|
|
border: 0;
|
|
padding: 0;
|
|
background: var(--code-bg);
|
|
color: var(--code-color);
|
|
font-size: 90%;
|
|
border-radius: var(--border-radius);
|
|
overflow-wrap: normal;
|
|
|
|
code {
|
|
padding: 1em;
|
|
background: none;
|
|
color: inherit;
|
|
line-height: inherit;
|
|
font-size: 100%;
|
|
border-radius: 0;
|
|
display: block;
|
|
overflow-x: auto;
|
|
// Backwards compatibility for browsers that don't support `max()`
|
|
max-height: 50vh;
|
|
max-height: ~"max(50vh, 250px)";
|
|
}
|
|
}
|
|
h1, h2, h3, h4, h5, h6 {
|
|
margin-top: 1em;
|
|
margin-bottom: 16px;
|
|
font-weight: bold;
|
|
}
|
|
h1 {
|
|
font-size: 225%;
|
|
}
|
|
h2 {
|
|
font-size: 175%;
|
|
}
|
|
h3 {
|
|
font-size: 150%;
|
|
}
|
|
h4 {
|
|
font-size: 125%;
|
|
}
|
|
h5, h6 {
|
|
font-size: 100%;
|
|
}
|
|
h6 {
|
|
color: var(--muted-more-color);
|
|
}
|
|
img, iframe {
|
|
max-width: 100%;
|
|
}
|
|
}
|
|
.Post-body, .Post-preview {
|
|
> *:first-child {
|
|
margin-top: 0 !important;
|
|
}
|
|
}
|
|
|
|
.Post--renderFailed {
|
|
background-color: var(--control-danger-bg);
|
|
}
|
|
|
|
.Post--hidden {
|
|
.Post-header, .Post-header a, .PostUser h3, .PostUser h3 a {
|
|
color: var(--muted-more-color);
|
|
}
|
|
&:not(.revealContent) {
|
|
.Post-header {
|
|
margin-bottom: 0;
|
|
}
|
|
.Post-body, .Post-footer, h3 .Avatar, .PostUser-badges {
|
|
display: none;
|
|
}
|
|
}
|
|
.Post-body, .Post-footer, h3 .Avatar, .PostUser-badges {
|
|
opacity: 0.5;
|
|
}
|
|
.Post-header .Button--more {
|
|
.Button--color-auto('muted-more');
|
|
}
|
|
}
|
|
.Post--loading {
|
|
opacity: 0.5;
|
|
}
|
|
.PostMeta {
|
|
display: inline;
|
|
}
|
|
.PostMeta .Dropdown-menu {
|
|
width: 420px;
|
|
padding: 10px;
|
|
color: var(--muted-color);
|
|
|
|
@media @phone {
|
|
padding: 15px !important;
|
|
}
|
|
}
|
|
.PostMeta-number {
|
|
color: var(--text-color);
|
|
font-weight: bold;
|
|
}
|
|
.PostMeta-time, .PostMeta-ip {
|
|
margin-left: 5px;
|
|
}
|
|
.PostMeta-permalink {
|
|
margin-top: 10px;
|
|
|
|
a& {
|
|
display: block;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
}
|
|
|
|
.PostEdited {
|
|
cursor: default;
|
|
}
|
|
|
|
.EventPost-icon {
|
|
float: left;
|
|
}
|
|
.EventPost {
|
|
&, a {
|
|
color: var(--muted-color);
|
|
}
|
|
a {
|
|
font-weight: bold;
|
|
}
|
|
}
|
|
.EventPost-info {
|
|
font-size: 14px;
|
|
}
|
|
|
|
.Post-footer, .Post-actions {
|
|
> ul {
|
|
list-style-type: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
&, a {
|
|
color: var(--muted-color);
|
|
}
|
|
a {
|
|
display: inline-block;
|
|
|
|
.icon {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
.Post-footer {
|
|
display: inline-block;
|
|
height: 0;
|
|
margin-top: 5px;
|
|
margin-bottom: 20px;
|
|
|
|
> ul {
|
|
> li {
|
|
margin-bottom: 5px;
|
|
}
|
|
}
|
|
.icon {
|
|
font-size: 14px;
|
|
margin-right: 5px;
|
|
}
|
|
|
|
&:empty {
|
|
display: none;
|
|
}
|
|
}
|
|
.Post-actions {
|
|
margin-top: -5px;
|
|
float: right;
|
|
position: relative;
|
|
|
|
transition: opacity 0.2s;
|
|
|
|
.EventPost &, .Post--hidden:not(.revealContent) & {
|
|
margin-top: -27px;
|
|
margin-bottom: -15px;
|
|
}
|
|
|
|
@media @tablet-up {
|
|
.no-touch & {
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
> ul {
|
|
> li {
|
|
margin-right: 0;
|
|
margin-left: -5px;
|
|
display: inline-block;
|
|
vertical-align: top;
|
|
}
|
|
}
|
|
.Post:hover &, .Post:focus-within &, &.open {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
.PostPreview {
|
|
color: var(--muted-color);
|
|
padding-left: 50px;
|
|
line-height: 1.7em;
|
|
|
|
.PostPreview-excerpt {
|
|
word-wrap: break-word;
|
|
}
|
|
|
|
.Avatar {
|
|
float: left;
|
|
margin-left: -50px;
|
|
.Avatar--size(32px);
|
|
}
|
|
.username {
|
|
color: var(--text-color);
|
|
font-weight: bold;
|
|
margin-right: 5px;
|
|
}
|
|
time {
|
|
margin-right: 5px;
|
|
text-transform: uppercase;
|
|
font-size: 11px;
|
|
font-weight: 600;
|
|
}
|
|
}
|
|
|
|
@media @phone {
|
|
.Post-header {
|
|
.Avatar {
|
|
.Avatar--size(32px);
|
|
vertical-align: middle;
|
|
margin-right: 5px;
|
|
}
|
|
}
|
|
.PostUser-badges {
|
|
position: absolute;
|
|
top: -12px;
|
|
left: 6px;
|
|
width: 32px;
|
|
|
|
.Badge {
|
|
.Badge--size(20px);
|
|
margin-left: -13px;
|
|
}
|
|
}
|
|
.EventPost {
|
|
padding-left: 50px;
|
|
}
|
|
.EventPost-icon {
|
|
font-size: 18px;
|
|
margin-left: -30px;
|
|
margin-top: 2px;
|
|
}
|
|
}
|
|
|
|
@avatar-column-width: 85px;
|
|
|
|
@media @tablet-up {
|
|
.Post {
|
|
padding-left: 20px + @avatar-column-width;
|
|
}
|
|
.CommentPost:not(.Post--hidden), .ReplyPlaceholder {
|
|
min-height: 64px + 40px; // avatar height + padding
|
|
}
|
|
.PostUser-avatar {
|
|
left: -@avatar-column-width;
|
|
position: absolute;
|
|
.Avatar--size(64px);
|
|
}
|
|
.PostUser-badges {
|
|
float: left;
|
|
position: relative;
|
|
margin-left: -@avatar-column-width + 5px;
|
|
margin-top: -3px;
|
|
width: 64px;
|
|
}
|
|
.EventPost-icon {
|
|
text-align: right;
|
|
margin-left: -@avatar-column-width;
|
|
width: 64px;
|
|
font-size: 22px;
|
|
}
|
|
}
|
|
|
|
.ReplyPlaceholder {
|
|
font-size: 15px;
|
|
cursor: text;
|
|
overflow: hidden;
|
|
margin-top: 50px;
|
|
border: 2px dashed var(--control-bg);
|
|
color: var(--muted-color);
|
|
border-radius: 10px;
|
|
|
|
.Post-header {
|
|
margin: 0;
|
|
color: inherit;
|
|
}
|
|
}
|
|
@media @tablet-up {
|
|
.ReplyPlaceholder {
|
|
border-color: transparent;
|
|
transition: border-color 0.2s;
|
|
|
|
.Post-header {
|
|
padding-top: 18px;
|
|
position: relative;
|
|
}
|
|
.Avatar {
|
|
margin-top: -18px;
|
|
}
|
|
&:hover {
|
|
border-color: var(--control-bg);
|
|
}
|
|
}
|
|
.LoadingPost .Post-header {
|
|
position: relative;
|
|
}
|
|
}
|