#html #css #flexbox
#HTML #css #flexbox
Вопрос:
Я работаю над проектом портфолио.
И я видел, что боковая панель имеет большой зазор между полями.
Я прилагаю оригинальный дизайн и дизайн, который я сделал. введите описание изображения здесь
Я отметил «желтым» интервал. введите описание изображения здесь
Я также добавляю код в HTML и CSS.
Спасибо.
HTML:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<title> Maquetación con Flexbox </title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<!--Inicio container-->
<div id="container">
<!--Inicio cabecera-->
<header id="header">
<div class="logo">
<h1> Portafolio</h1>
</div>
<nav id="menu">
<ul>
<li>
<a href="#">Inicio</a>
</li>
<li>
<a href="#">Proyectos</a>
</li>
<li>
<a href="#">Blog</a>
</li>
<li>
<a href="#">Contacto</a>
</li>
</ul>
</nav>
</header>
<!--Fin cabecera-->
<!--Incio contenido-->
<section id="content">
<aside id="aside">
<h2>¿Que quieres ver?</h2>
<ul>
<li>
<a href="#">Webs</a>
</li>
<li>
<a href="#">Apps</a>
</li>
<li>
<a href="#">Diseños</a>
</li>
<li>
<a href="#">Otros</a>
</li>
</ul>
</aside>
<div id="projects">
<article class="project">
<div class="image-wrap">
<img src="https://via.placeholder.com/250x180"/>
</div>
<div class="project-info">
<a href="#">Nombre proyecto</a>
<p>Sitio web</p>
</div>
</article>
<article class="project">
<div class="image-wrap">
<img src="https://via.placeholder.com/250x180"/>
</div>
<div class="project-info">
<a href="#">Nombre proyecto</a>
<p>Sitio web</p>
</div>
</article>
<article class="project">
<div class="image-wrap">
<img src="https://via.placeholder.com/250x180"/>
</div>
<div class="project-info">
<a href="#">Nombre proyecto</a>
<p>Sitio web</p>
</div>
</article>
<article class="project">
<div class="image-wrap">
<img src="https://via.placeholder.com/250x180"/>
</div>
<div class="project-info">
<a href="#">Nombre proyecto</a>
<p>Sitio web</p>
</div>
</article>
<article class="project">
<div class="image-wrap">
<img src="https://via.placeholder.com/250x180"/>
</div>
<div class="project-info">
<a href="#">Nombre proyecto</a>
<p>Sitio web</p>
</div>
</article>
<article class="project">
<div class="image-wrap">
<img src="https://via.placeholder.com/250x180"/>
</div>
<div class="project-info">
<a href="#">Nombre proyecto</a>
<p>Sitio web</p>
</div>
</article>
<article class="project">
<div class="image-wrap">
<img src="https://via.placeholder.com/250x180"/>
</div>
<div class="project-info">
<a href="#">Nombre proyecto</a>
<p>Sitio web</p>
</div>
</article>
<article class="project">
<div class="image-wrap">
<img src="https://via.placeholder.com/250x180"/>
</div>
<div class="project-info">
<a href="#">Nombre proyecto</a>
<p>Sitio web</p>
</div>
</article>
</div>
</section>
<!--Fin contenido-->
<footer id="footer">
<div class="logo">
Portafolio
</div>
<div class="info">
Cristina Martínez - Web amp;copy;
</div>
</footer>
</div>
<!--Fin container-->
</body>
</html>
CSS:
*{
text-decoration: none;
margin: 0px;
padding: 0px;
font-family: sans-serif;
}
#container{
width: 90%;
height: auto;
margin: 0px auto;
border: 1px solid rgba(225, 225, 226, 0.8);
box-shadow: 0px 0px 10px #cccccc;
margin-top: 40px;
margin-bottom: 40px;
min-height: 600px;
}
#header{
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
height: 120px;
border-bottom: 1px solid rgba(225, 225, 226, 0.8);
}
.logo{
flex-grow: 1;
flex-basis: 65%;
font-family: Helvetica;
font-style: italic;
font-weight: 900px;
font-size: 35px;
padding: 10px;
margin-left: 20px;
color: black;
text-shadow: 1px 1px 0px #cccccc;
text-transform: uppercase;
}
.logo h1{
font-family: Helvetica;
font-style: italic;
font-weight: 900px;
font-size: 35px;
}
#menu{
flex-grow: 1;
flex-basis: 30%;
height: 100%;
}
#menu > ul{
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
list-style: none;
height: 100%;
padding-right: 20px;
}
#menu a{
color: #444444;
text-transform: uppercase;
padding: 15px;
transition: all 300ms;
}
#menu a:hover{
background: #cccccc;
color: white;
}
#content{
display: flex;
justify-content: space-between;
padding-top: 20px;
padding-bottom: 20px;
}
#projects{
display: flex;
flex-flow: row wrap;
justify-content: space-between;
flex-basis: 70%;
}
.project{
margin-bottom: 25px;
border: 1px solid #cccccc;
width: 250px;
margin-right: 20px;
flex-basis: 250px;
text-align: center;
}
.project img{
width: 100%;
}
.project-info{
padding: 10px;
}
.project-info a{
font-size: 16px;
color: black;
transition: all 300ms;
}
.project-info a:hover{
color: blue;
}
.project-info p{
font-size: 16px;
color: grey;
}
#aside{
display: flex;
flex-direction: column;
flex-wrap: wrap;
flex-basis: 15%;
margin-right: 30px;
padding: 15px;
}
#aside h2{
display: block;
width: 100%;
font-size: 18px;
font-weight: 100;
color: #444444;
padding-bottom: 10px;
margin-bottom: 20px;
border-bottom: 1px solid rgba(225, 225, 226, 0.8);
text-align: center;
}
#aside ul{
list-style: none;
}
#aside ul li{
padding-bottom: 20px;
}
#aside a{
text-align: center;
display: block;
padding: 20px;
background: #eeeeee;
color: #444444;
transition: all 300ms;
text-transform: uppercase;
}
#aside a:hover{
background: #444444;
color: #eeeeee;
}
#footer{
display: flex;
flex-flow: row wrap;
justify-content: flex-end;
height: 120px;
align-items: center;
border-top: 1px solid rgba(225, 225, 226, 0.8);;
}
#footer .logo{
opacity: 0.5;
flex-basis: auto;
flex-grow: 1;
order: 2;
text-align: right;
margin-right: 20px;
}
#footer .info{
flex-grow: 1;
order: 1;
margin-left: 20px;
color: #444444;
}
Ответ №1:
Добавьте flex-basis
of #aside
до 25% и удалите flex-basis of #projects
(оставшийся по умолчанию)
#aside {
display: flex;
flex-direction: column;
flex-wrap: wrap;
flex-basis: 25%;
}
также добавьте @748px
медиа-запросы в этом стиле.
@media only screen and (max-width: 768px){
#content {
flex-direction: column;
}
#aside{
margin-right: 0;
}
#projects{
padding:15px;
justify-content: space-around;
}
.project{
margin-right:0;
}
}
Теперь станьте отзывчивым портфолио.
LIVE DEMO
*{
text-decoration: none;
margin: 0px;
padding: 0px;
font-family: sans-serif;
}
#container{
width: 90%;
height: auto;
margin: 0px auto;
border: 1px solid rgba(225, 225, 226, 0.8);
box-shadow: 0px 0px 10px #cccccc;
margin-top: 40px;
margin-bottom: 40px;
min-height: 600px;
}
#header{
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
height: 120px;
border-bottom: 1px solid rgba(225, 225, 226, 0.8);
}
.logo{
flex-grow: 1;
flex-basis: 65%;
font-family: Helvetica;
font-style: italic;
font-weight: 900px;
font-size: 35px;
padding: 10px;
margin-left: 20px;
color: black;
text-shadow: 1px 1px 0px #cccccc;
text-transform: uppercase;
}
.logo h1{
font-family: Helvetica;
font-style: italic;
font-weight: 900px;
font-size: 35px;
}
#menu{
flex-grow: 1;
flex-basis: 30%;
height: 100%;
}
#menu > ul{
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
list-style: none;
height: 100%;
padding-right: 20px;
}
#menu a{
color: #444444;
text-transform: uppercase;
padding: 15px;
transition: all 300ms;
}
#menu a:hover{
background: #cccccc;
color: white;
}
#content{
display: flex;
justify-content: space-between;
padding-top: 20px;
padding-bottom: 20px;
}
#projects{
display: flex;
flex-flow: row wrap;
justify-content: space-between;
}
.project{
margin-bottom: 25px;
border: 1px solid #cccccc;
width: 250px;
margin-right: 20px;
flex-basis: 250px;
text-align: center;
}
.project img{
width: 100%;
}
.project-info{
padding: 10px;
}
.project-info a{
font-size: 16px;
color: black;
transition: all 300ms;
}
.project-info a:hover{
color: blue;
}
.project-info p{
font-size: 16px;
color: grey;
}
#aside{
display: flex;
flex-direction: column;
flex-wrap: wrap;
flex-basis: 25%;
margin-right: 30px;
padding: 15px;
}
#aside h2{
display: block;
width: 100%;
font-size: 18px;
font-weight: 100;
color: #444444;
padding-bottom: 10px;
margin-bottom: 20px;
border-bottom: 1px solid rgba(225, 225, 226, 0.8);
text-align: center;
}
#aside ul{
list-style: none;
}
#aside ul li{
padding-bottom: 20px;
}
#aside a{
text-align: center;
display: block;
padding: 20px;
background: #eeeeee;
color: #444444;
transition: all 300ms;
text-transform: uppercase;
}
#aside a:hover{
background: #444444;
color: #eeeeee;
}
#footer{
display: flex;
flex-flow: row wrap;
justify-content: flex-end;
height: 120px;
align-items: center;
border-top: 1px solid rgba(225, 225, 226, 0.8);;
}
#footer .logo{
opacity: 0.5;
flex-basis: auto;
flex-grow: 1;
order: 2;
text-align: right;
margin-right: 20px;
}
#footer .info{
flex-grow: 1;
order: 1;
margin-left: 20px;
color: #444444;
}
@media only screen and (max-width: 768px){
#content {
flex-direction: column;
}
#aside{
margin-right: 0;
}
#projects{
padding:15px;
justify-content: space-around;
}
.project{
margin-right:0;
}
}
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<title> Maquetación con Flexbox </title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<!--Inicio container-->
<div id="container">
<!--Inicio cabecera-->
<header id="header">
<div class="logo">
<h1> Portafolio</h1>
</div>
<nav id="menu">
<ul>
<li>
<a href="#">Inicio</a>
</li>
<li>
<a href="#">Proyectos</a>
</li>
<li>
<a href="#">Blog</a>
</li>
<li>
<a href="#">Contacto</a>
</li>
</ul>
</nav>
</header>
<!--Fin cabecera-->
<!--Incio contenido-->
<section id="content">
<aside id="aside">
<h2>¿Que quieres ver?</h2>
<ul>
<li>
<a href="#">Webs</a>
</li>
<li>
<a href="#">Apps</a>
</li>
<li>
<a href="#">Diseños</a>
</li>
<li>
<a href="#">Otros</a>
</li>
</ul>
</aside>
<div id="projects">
<article class="project">
<div class="image-wrap">
<img src="https://via.placeholder.com/250x180"/>
</div>
<div class="project-info">
<a href="#">Nombre proyecto</a>
<p>Sitio web</p>
</div>
</article>
<article class="project">
<div class="image-wrap">
<img src="https://via.placeholder.com/250x180"/>
</div>
<div class="project-info">
<a href="#">Nombre proyecto</a>
<p>Sitio web</p>
</div>
</article>
<article class="project">
<div class="image-wrap">
<img src="https://via.placeholder.com/250x180"/>
</div>
<div class="project-info">
<a href="#">Nombre proyecto</a>
<p>Sitio web</p>
</div>
</article>
<article class="project">
<div class="image-wrap">
<img src="https://via.placeholder.com/250x180"/>
</div>
<div class="project-info">
<a href="#">Nombre proyecto</a>
<p>Sitio web</p>
</div>
</article>
<article class="project">
<div class="image-wrap">
<img src="https://via.placeholder.com/250x180"/>
</div>
<div class="project-info">
<a href="#">Nombre proyecto</a>
<p>Sitio web</p>
</div>
</article>
<article class="project">
<div class="image-wrap">
<img src="https://via.placeholder.com/250x180"/>
</div>
<div class="project-info">
<a href="#">Nombre proyecto</a>
<p>Sitio web</p>
</div>
</article>
<article class="project">
<div class="image-wrap">
<img src="https://via.placeholder.com/250x180"/>
</div>
<div class="project-info">
<a href="#">Nombre proyecto</a>
<p>Sitio web</p>
</div>
</article>
<article class="project">
<div class="image-wrap">
<img src="https://via.placeholder.com/250x180"/>
</div>
<div class="project-info">
<a href="#">Nombre proyecto</a>
<p>Sitio web</p>
</div>
</article>
</div>
</section>
<!--Fin contenido-->
<footer id="footer">
<div class="logo">
Portafolio
</div>
<div class="info">
Cristina Martínez - Web amp;copy;
</div>
</footer>
</div>
<!--Fin container-->
</body>
</html>
Комментарии:
1. Это сработало! Большое вам спасибо за ваше время и ваши знания.