You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nostrweb/src/styles/cards.css

212 lines
4.2 KiB
CSS

2 years ago
/* https://developer.mozilla.org/en-US/docs/Web/CSS/Layout_cookbook/Media_objects */
.mbox {
--profileimg-size: 4rem;
--profileimg-size-half: 2rem;
--profileimg-size-quarter: 1rem;
align-items: center;
display: flex;
flex-direction: row;
flex-shrink: 0;
flex-wrap: wrap;
margin-bottom: 1rem;
max-width: var(--content-width);
padding: 0 var(--gap-half);
}
.mbox:last-child {
margin-bottom: 0;
}
.mbox .mbox {
padding: 0;
2 years ago
}
.mbox-img {
align-self: start;
background-color: var(--bgcolor-textinput);
border-radius: var(--profileimg-size);
flex-basis: var(--profileimg-size);
height: var(--profileimg-size);
margin-right: var(--gap-half);
max-height: var(--profileimg-size);
max-width: var(--profileimg-size);
overflow: clip;
position: relative;
z-index: 2;
}
.mbox-img canvas,
.mbox-img img {
display: block;
}
.mbox-updated-contact .mbox-img,
.mbox-recommend-server .mbox-img {
--profileimg-size: 2rem;
margin-left: 2rem;
2 years ago
}
.mbox-body {
flex-grow: 0;
flex-shrink: 1;
word-break: break-word;
2 years ago
}
.mbox-img + .mbox-body {
flex-basis: calc(100% - var(--profileimg-size) - var(--gap-half));
}
2 years ago
.mbox-header {
flex-basis: calc(100% - var(--profileimg-size) - var(--gap-half));
flex-grow: 0;
flex-shrink: 1;
margin-top: 0;
}
.mbox-header a {
font-size: var(--font-small);
}
.mbox-kind0-name {
color: var(--color);
}
.mbox-updated-contact .mbox-body,
.mbox-recommend-server .mbox-body {
display: block;
font-size: var(--font-small);
overflow: scroll;
}
.mbox-updated-contact .mbox-header,
.mbox-recommend-server .mbox-header {
display: inline;
2 years ago
}
.mbox-updated-contact {
padding: 0 0 1rem 0;
margin: 0;
}
.mbox {
overflow: clip;
}
.mbox .mbox {
overflow: visible;
position: relative;
}
.mbox .buttons {
margin-top: .2rem;
}
.mbox button:not(#publish) {
--bg-color: none;
--border-color: none;
}
.mbox button img + small {
padding-left: .5rem;
}
.mobx-replies {
flex-grow: 1;
position: relative;
}
.mobx-replies .mobx-replies {
--reply-padding: 3rem;
margin-bottom: 2px;
padding: 0 1rem 0 var(--reply-padding);
}
.mobx-replies .mobx-replies .mobx-replies {
--reply-padding: 0;
}
.mbox .mbox::before,
.mobx-replies::before {
background-color: var(--bgcolor-inactive);
border: none;
content: "";
display: block;
height: 200vh;
left: var(--profileimg-size-half);
margin-left: -.2rem;
position: absolute;
top: -200vh;
width: .4rem;
}
.mobx-replies .mbox .mbox::before {
background: none;
border-color: var(--bgcolor-inactive);;
border-style: solid;
border-width: 0 0 .4rem .4rem;
content: "";
display: block;
height: var(--profileimg-size-quarter);
left: calc(-1 * var(--profileimg-size-quarter));
margin-left: -.2rem;
position: absolute;
top: 0;
width: .8rem;
}
.mobx-replies .mbox .mbox::after {
background-color: var(--bgcolor-inactive);
border: none;
content: "";
display: block;
height: 100vh;
left: calc(-1 * var(--profileimg-size-quarter));
margin-left: -.2rem;
position: absolute;
top: -100vh;
width: .4rem;
}
/* support visualisation of 3 levels of thread nesting, rest render flat without line */
.mbox .mobx-replies .mobx-replies::before,
.mobx-replies .mobx-replies .mbox .mbox::before {
content: none;
}
.mobx-replies .mbox .mbox .mbox-img {
--profileimg-size: 2rem;
left: -.2rem;
margin-right: .5rem;
margin-top: .2rem;
position: relative;
}
[data-append]::after {
color: var(--color-accent);
content: "…";
}
.preview-loaded a {
background-color: var(--bgcolor-textinput);
border: 1px solid var(--bgcolor-inactive);
color: var(--color);
display: flex;
flex-direction: column;
margin: var(--gap) 0 0 0;
max-width: 48rem;
padding: 1.5rem 1.8rem;
text-decoration: none;
}
.preview-loaded a:visited {
color: inherit;
}
.preview-title {
font-size: inherit;
margin: 0;
}
.preview-descr {
font-size: var(--font-small);
}
.preview-image {
background-color: rgba(72, 63, 63, 0.07);
margin-bottom: var(--gap);
max-height: 30vh;
object-fit: contain;
}
.preview-image-only {
background-color: var(--bgcolor-textinput);
border: 1px solid var(--bgcolor-inactive);
margin: var(--gap) 0 0 0;
max-width: 48rem;
padding: 1.5rem 1.8rem;
width: 100%;
}