Template:Library homepage/style.css: Difference between revisions

Template page
No edit summary
(muted the picture scale-in effect just a little bit on big cards)
 
(23 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* STYLING LIBRARY CARD CONTAINER */
/* STYLING FULL AND MID LIBRARY CARD CONTAINER */
.library-container{
.library-container{
width:100%;
width:100%;
Line 6: Line 6:
justify-content:center;
justify-content:center;
align-items:flex-start;
align-items:flex-start;
gap:20px 10px;
margin-top:20px;
}
}


/* styling big library cards */
/* styling full-size library cards */
.library-card{
.library-card{
width:200px;
width:200px;
margin:20px 0 0 20px;
padding:0;
padding:0;
border:1px gray solid;
border:1px gray solid;
Line 26: Line 27:
}
}


.library-card-TOC{
.library-card .library-card-image {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}
 
.library-card-image {
height:300px;
height:300px;
padding:0;
padding:0;
Line 41: Line 34:
}
}


.library-card-image img{
.library-card .library-card-image img{
width:auto;
width:auto;
height:100%;
height:100%;
Line 53: Line 46:
}
}


.library-card-image img:hover{
.library-card .library-card-image img:hover{
transform:scale(1.2);
transform:scale(1.15);
filter:grayscale(0.3);
filter:grayscale(0.3);
}
/*Common to full and mid size*/
.library-card-TOC{
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}
}


Line 66: Line 68:
overflow:hidden;
overflow:hidden;
position:relative;
position:relative;
}
.library-card .library-card-content{
border-top:1px solid gray;
border-top:1px solid gray;
}
.library-card-content p{
line-height:0.1rem;
}
}


Line 78: Line 87:
}
}


.library-card-works,.library-card-title , .library-card p{
.library-card-works,.library-card-title, .library-card p, .library-card-mid p{
display:inline;
display:inline;
}
}


.library-card-content p{
/*styling mid-size library card*/
line-height:0.1rem;
.library-card-mid{
width:150px;
padding:0;
/*border:1px gray solid;*/
    /*border-radius:10px 10px 4px 4px;*/
    overflow:hidden;
    z-index:10;
    /*box-shadow: 3px 1px 6px 1px gray;*/
transition: box-shadow 0.4s, transform 0.4s;
}
 
.library-card-mid:hover{
/*box-shadow: 5px 4px 11px 3px #666;*/
transform:scale(1.02);
}
 
.library-card-mid .library-card-image {
height:150px;
padding:0;
margin:0;
z-index:-1;
display:flex;
align-items:center;
justify-content:center;
clip-path: inset(0 round 10px); /*makes rounded edges, for some reason border-radius doesn't want to work*/
}
 
.library-card-mid .library-card-image img{
width:100%;
height:auto;
transform: scale(1.1);
overflow:hidden;
padding:0;
margin:0;
transition: transform 0.4s, filter 0.4s;
z-index:-1;
filter:grayscale(1);
}
}


.library-card-mid .library-card-image img:hover{
filter:grayscale(0.3);
}


.library-card-mid .library-card-works{
font-size:1rem;
}


/* STYLING MINI LIBRARY CARD CONTAINER */
/* STYLING MINI LIBRARY CARD CONTAINER */
/* it's weird but for some reason this grid specifically
only wants to use 1 column out of 2, so I just added
empty columns in between the actual ones and reduced
the gap by half (10px instead of 20px) because these
empty columns still apply their gap. ¯\_(ツ)_/¯
*/
.library-container-mini{
.library-container-mini{
display:grid;
display: flex;
grid-template-columns: repeat(4, 1fr 0fr);  
flex-flow:row wrap;
grid-gap: 0 10px;
justify-content:center;
align-items:flex-start;
width:100%;
width:100%;
margin-top:20px;
gap:30px 40px;
}
}


/* styling mini library cards */
/* styling mini library cards */
.library-card-mini{
width:100px;
}
.library-card-mini-content{
.library-card-mini-content{
display: inline-grid;
grid-template-columns: 45px 155px;
grid-template-rows: 1fr;
height:75px;
height:75px;
overflow:hidden; /* you get three lines of text, no more */
overflow:hidden; /* you get three lines of text, no more */
}
.library-card-mini-image{
width:100%;
height:50px;
overflow:hidden;
display:flex;
align-items:center;
align-items:center;
justify-content:center;
border-radius:5px;
gap:0;
}
}


.library-card-mini img{
.library-card-mini img{
height:35px;
height:auto;
width:35px;
width:100px;
object-fit:cover;
object-fit:cover;
overflow:hidden;
overflow:hidden;
border-radius:5px;
padding:0;
padding:0;
margin:0;
margin:0;
Line 132: Line 189:


.library-card-mini-text{
.library-card-mini-text{
grid-column-start:2;
text-align:center;
grid-column-end:3;
}
}


Line 152: Line 208:


/* MOBILE STYLING */
/* MOBILE STYLING */
/*should've really done mobile first so I don't repeat code all over but oh well*/
@media only screen and (max-width: 768px) {
@media only screen and (max-width: 768px) {
.library-container-mini{ /* resize grid on mobile so there's only one column */
display: grid;
grid-template-columns: 1fr;
grid-gap: 10px 0;
}
.library-container-mini > p{ /* the every other row bug happens here too, but they're just empty <p> tags. Fixed with this. */
.library-container-mini > p{ /* the every other row bug happens here too, but they're just empty <p> tags. Fixed with this. */
display:none;  
display:none;  
Line 167: Line 218:
}
}
.library-card-mini-content{ /* legit don't remember if this is required or what it does */
.library-card-mini-content{ /* also reduces space between mini cards now that there is no margin. Calculated to fit 3 lines of text */
height:25px;
height:50px;
line-height:1;
}
}
}
}

Latest revision as of 08:06, 4 November 2023

/* STYLING FULL AND MID LIBRARY CARD CONTAINER */
.library-container{
	width:100%;
	display:flex;
	flex-flow:row wrap;
	justify-content:center;
	align-items:flex-start;
	gap:20px 10px;
	margin-top:20px;
}

/* styling full-size library cards */
.library-card{
	width:200px;
	padding:0;
	border:1px gray solid;
    border-radius:10px 10px 4px 4px;
    overflow:hidden;
    z-index:10;
    box-shadow: 3px 1px 8px 1px gray;
	transition: box-shadow 0.4s, transform 0.4s;
}

.library-card:hover{
	box-shadow: 5px 4px 11px 3px #666;
	transform:scale(1.02);
}

.library-card .library-card-image {
	height:300px;
	padding:0;
	margin:0;
	z-index:-1;
}

.library-card .library-card-image img{
	width:auto;
	height:100%;
	transform: scale(1.1);
	overflow:hidden;
	padding:0;
	margin:0;
	transition: transform 0.4s, filter 0.4s;
	z-index:-1;
	filter:grayscale(1);
}

.library-card .library-card-image img:hover{
	transform:scale(1.15);
	filter:grayscale(0.3);
}

/*Common to full and mid size*/
.library-card-TOC{
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}

.library-card-content{
	padding:15px 2px;
	margin:0;
	text-align:center;
	display:block;
	z-index:10;
	overflow:hidden;
	position:relative;
}

.library-card .library-card-content{
	border-top:1px solid gray;
}

.library-card-content p{
	line-height:0.1rem;
}

.library-card-title{
	font-size:1.2rem;
	font-weight:normal;
}

.library-card-works{
	font-size:0.8rem;
}

.library-card-works,.library-card-title, .library-card p, .library-card-mid p{
	display:inline;
}

/*styling mid-size library card*/
.library-card-mid{
	width:150px;
	padding:0;
	/*border:1px gray solid;*/
    /*border-radius:10px 10px 4px 4px;*/
    overflow:hidden;
    z-index:10;
    /*box-shadow: 3px 1px 6px 1px gray;*/
	transition: box-shadow 0.4s, transform 0.4s;
}

.library-card-mid:hover{
	/*box-shadow: 5px 4px 11px 3px #666;*/
	transform:scale(1.02);
}

.library-card-mid .library-card-image {
	height:150px;
	padding:0;
	margin:0;
	z-index:-1;
	display:flex;
	align-items:center;
	justify-content:center;
	clip-path: inset(0 round 10px); /*makes rounded edges, for some reason border-radius doesn't want to work*/
}

.library-card-mid .library-card-image img{
	width:100%;
	height:auto;
	transform: scale(1.1);
	overflow:hidden;
	padding:0;
	margin:0;
	transition: transform 0.4s, filter 0.4s;
	z-index:-1;
	filter:grayscale(1);
}

.library-card-mid .library-card-image img:hover{
	filter:grayscale(0.3);
}

.library-card-mid .library-card-works{
	font-size:1rem;
}

/* STYLING MINI LIBRARY CARD CONTAINER */
.library-container-mini{
	display: flex;
	flex-flow:row wrap;
	justify-content:center;
	align-items:flex-start;
	width:100%;
	margin-top:20px;
	gap:30px 40px;
}

/* styling mini library cards */
.library-card-mini{
	width:100px;
}

.library-card-mini-content{
	height:75px;
	overflow:hidden; /* you get three lines of text, no more */
}

.library-card-mini-image{
	width:100%;
	height:50px;
	overflow:hidden;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:5px;
	gap:0;
}

.library-card-mini img{
	height:auto;
	width:100px;
	object-fit:cover;
	overflow:hidden;
	padding:0;
	margin:0;
	transition: filter 0.4s;
	z-index:-1;
	filter:grayscale(1);
	transform:scale(1); /* cancels any scale-in effect that may apply*/
}

.library-card-mini img:hover{
	filter:grayscale(0.3);
}

.library-card-mini-text{
	text-align:center;
}

.library-card-mini-title{
	height:0;
	width:0;
	position:relative;
}

.library-card-mini-TOC{
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}


/* MOBILE STYLING */
/*should've really done mobile first so I don't repeat code all over but oh well*/
@media only screen and (max-width: 768px) {
	.library-container-mini > p{ /* the every other row bug happens here too, but they're just empty <p> tags. Fixed with this. */
		display:none; 
	}
	
	.library-card-mini > p{ /* reduce space between mini cards on mobile so we can fit more in the viewport */
		margin:0;
	}
	
	.library-card-mini-content{ /* also reduces space between mini cards now that there is no margin. Calculated to fit 3 lines of text */
		height:50px;	
		line-height:1;
	}
}