Issue
I'm a bit new to HTML and CSS but I'm trying to learn grids. I have a background in WPF which heavily uses grids. It's mostly straightforward but I'm confused on how to align to the bottom of it's area.
AccountBar.js
<div className={styles.container}>
<img className={styles.avatar} style={{backgroundImage: `url(${profileURL})`}}></img>
<text className={styles.username}>Username</text>
<text className={styles.discriminator}>#1337</text>
</div>
style.module.css
.container {
display: grid;
grid-template-areas:
'avatar username'
'avatar discriminator';
}
.avatar {
grid-area: avatar;
background-image: url('https://tenor.com/view/pigeon-pidgeon-fire-eyes-burn-gif-24781901.gif');
background-size: cover;
border-radius: 50%;
width: 100px;
height: 100px;
border: 3px solid #591496;
}
.username {
grid-area: username;
color: white;
}
.discriminator {
grid-area: discriminator;
color: white;
}
The result looks like so, but I'm trying to align "Username" to the bottom of it's cell.
Solution
I think your problem is not from the grid but from element alignment. You can add margin-top: auto;
(adding a top margin to cover all upper space and push your text to the bottom) to .username
which would help you do the trick.
.container {
display: grid;
grid-template-areas:
'avatar username'
'avatar discriminator';
background-color: #ccc; /*For testing*/
}
.avatar {
grid-area: avatar;
background-image: url('https://tenor.com/view/pigeon-pidgeon-fire-eyes-burn-gif-24781901.gif');
background-size: cover;
border-radius: 50%;
width: 100px;
height: 100px;
border: 3px solid #591496;
}
.username {
grid-area: username;
color: white;
margin-top: auto; /*The change is here*/
}
.discriminator {
grid-area: discriminator;
color: white;
}
<div class="container">
<img class="avatar" style="background-image: url('https://cdn.pixabay.com/photo/2015/04/23/22/00/tree-736885__480.jpg');"/>
<text class="username">Username</text>
<text class="discriminator">#1337</text>
</div>
Answered By - Nick Vu
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.