我正在开发一个项目,需要将一系列卡片放置在屏幕中央。网页设计中的居中元素对于创建具有视觉吸引力和用户友好的界面至关重要,因为它可以吸引观众对关键内容的注意力。无论是展示产品、显示信息还是突出功能,正确的对齐都可以增强网页的整体美观性和功能性。
为了实现这一目标,我编写了一些专门设计的 CSS 代码,以确保这些卡片在视口中水平居中和垂直对齐。这将创建一个平衡的外观,提高用户参与度。下面,我将分享我为此目的实现的 CSS 代码:
* {
box-sizing: border-box;
}
body {
height: 100%;
background-color: #ebcdcd;
background-size: auto, cover;
background-repeat: no-repeat, no-repeat;
padding-top: 75px;
}
header {
background-color: #eb3f3f;
padding: 1px 0;
height: auto;
border: 1px solid #795548;
margin-bottom: 20px;
z-index: 1030;
}
.logo-img {
height: 100%;
max-height: 75px;
border: 1px solid #795548;
margin-top: 2px;
margin-bottom: 2px;
}
.josefin-sans {
font-family: "Josefin Sans", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
color: #FAFAFA;
margin-right: 15px;
font-size: 46px;
}
.tagline {
font-size: 1.2rem;
font-style: italic;
margin-top: 0.5rem;
color: #f8f9fa;
}
.nav-link {
color: #FFC107;
font-size: 1.1rem;
border-radius: 5px;
transition: background-color 0.3s, color 0.3s;
}
.ubuntu-light-italic {
font-family: "Ubuntu", sans-serif;
font-weight: 300;
font-style: normal;
}
.noto-sans {
font-family: "Noto Sans", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
font-variation-settings:
"wdth" 100;
}
.card {
min-height: auto;
display: flex;
width: 512px;
background-color: #fff;
border-radius: 10px;
margin: 10px;
overflow: hidden;
align-content: center;
flex-direction: column;
}
.card .image-box{
height: 200px;
}
.card .image-box img{
height: 100%;
border-radius: 8px 8px 0 0;
}
.image-box img {
width: 100%;
object-fit: cover;
}
.card .description{
display: flex;
align-items: center;
column-gap: 12px;
padding: 15px;
}
.card .description img{
height: 40px;
width: 40px;
border-radius: 50%;
}
.description .recipe-name{
font-size: 15px;
font-weight: 500;
text-align: justify;
}
.description .ingredients{
font-size: 12px;
font-weight: 300;
color: #777;
text-align: justify;
}
footer {
background-color: #eb3f3f;
border: 1px solid #795548;
position: fixed;
left: 0;
bottom: 0;
width: 100%;
text-align: center;
}
/* Media Queries */
@media (max-width: 1200px) {
.josefin-sans {
font-size: 40px;
}
.nav-link {
font-size: 1rem;
}
}
@media (max-width: 992px) {
.josefin-sans {
font-size: 36px;
}
.nav-link {
font-size: 0.95rem;
}
}
@media (max-width: 768px) {
header {
text-align: center;
}
.josefin-sans {
font-size: 32px;
margin-right: 0;
}
.navbar-nav {
text-align: center;
}
.nav-link {
display: block;
margin: 0.5rem 0;
}
}
@media (max-width: 576px) {
.logo-img {
max-height: 50px;
}
.josefin-sans {
font-size: 28px;
}
.nav-link {
font-size: 0.9rem;
}
footer {
padding: 6px 0;
font-size: 0.8rem;
}
}
我已附上网页图像供您查看。此屏幕截图提供了当前布局和设计元素的视觉表示,这将有助于理解我的项目的上下文。该图像突出显示了各个组件的排列方式,包括我正在努力在屏幕上居中的卡片的位置。
如果您对图片有任何反馈或建议,请告诉我。我很欣赏你的见解!
在我最近尝试将卡片在网页上居中时,我应用了特定的 CSS 属性来将它们在视口中水平和垂直对齐。我尝试了各种方法,包括使用 Flexbox 和 Grid 布局,以实现所需的定位。
我希望卡片能够完美居中,创造出平衡且具有视觉吸引力的布局。但是,我遇到了一些对齐问题,这可能是由于 CSS 规则或容器尺寸冲突造成的。我正在寻找有关如何解决这些问题并实现预期布局的见解或建议。
您应该将用于弯曲和居中的 css 添加到 .card 的父级,而不是卡本身。看看你的 CSS,我认为父级就是你的身体,请尝试以下操作:
body {
height: 100%;
background-color: #ebcdcd;
background-size: auto, cover;
background-repeat: no-repeat, no-repeat;
padding-top: 75px;
display: flex;
flex-direction: column;
justify-content: center;
}