complement of html and css

This commit is contained in:
Giovanni-Josserand 2025-08-21 16:40:58 +02:00
parent f583f2f746
commit 51157c5e3a
2 changed files with 83 additions and 27 deletions

View File

@ -1,10 +1,13 @@
import SkillCard from './SkillCard'; import SkillCard from './SkillCard';
import "../styles/SingleProject.css"; import "../styles/SingleProject.css";
function SingleProject({image, title, description, skills}) { function SingleProject({image, title, description, skills, color}) {
return ( return (
<div className="single-project"> <div className="single-project">
<div className="single-project-left"> <div className="single-project-left">
<img src={`/public/assets/images/skills/${image}.svg`} alt={image} /> <img src={`/public/assets/images/${image}.jpeg`} alt={image}/>
</div>
<div className="single-project-middle">
<div aria-hidden="true" className={`single-project-line color-${color}`}></div>
</div> </div>
<div className="single-project-right"> <div className="single-project-right">
<h3 className="single-project-title">{title}</h3> <h3 className="single-project-title">{title}</h3>
@ -16,7 +19,11 @@ function SingleProject({image, title, description, skills}) {
<li key={skill}><SkillCard text={skill}/></li> <li key={skill}><SkillCard text={skill}/></li>
))} ))}
</ul> </ul>
<p className="single-project-link">
Learn more
</p>
</div> </div>
</div> </div>
) )
} }

View File

@ -1,38 +1,87 @@
.single-project { .single-project {
display: flex; display: flex;
width: 80%; width: 80%;
justify-self: center; margin: 2rem auto;
margin-bottom: 4%; background-color: #1E1E1E;
}
.single-project-left{
width: 60%;
margin-right: 2%;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden; overflow: hidden;
height: 400px; transition: all 0.3s ease-in-out;
img{ border-radius: 12px;
}
.single-project:hover {
transform: translateY(-5px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
.single-project-left {
flex-shrink: 0;
width: 55%;
}
.single-project-left img {
width: 100%; width: 100%;
height: auto; height: 100%;
object-fit: contain; object-fit: cover;
display: block; display: block;
}
} }
.single-project-right{ .single-project-right {
width: 40%; display: flex;
margin-left: 2%; flex-direction: column;
} justify-content: space-between;
padding: 2rem 2rem 2rem 0rem;
.single-project-skills-list{ align-items: flex-start;
}
.single-project-title {
font-size: 2rem;
color: #EAEAEA;
margin-top: 0;
margin-bottom: 1rem;
}
.single-project-description {
color: #B0B0B0;
margin-bottom: 1.5rem;
text-align: justify;
}
.single-project-skills-list {
display: flex; display: flex;
align-items: center;
flex-wrap: wrap; flex-wrap: wrap;
list-style: none; list-style: none;
padding: 0; padding: 0;
li{ margin: 0;
margin: 0.5% 1%; gap: 8px;
} }
.single-project-link {
color: #EAEAEA;
text-decoration: none;
font-weight: 600;
}
.single-project-middle {
padding: 2rem 0.5rem;
}
.single-project-line {
border-radius: 38px;
min-width: 1.5rem;
height: 0.25rem;
margin-top: 1.5rem;
margin-left: 2rem;
}
.color-orange{
background-color: #D95F46;
}
.color-purple{
background-color: #a646d9;
}
.color-green{
background-color: #36a837;
} }