complement of html and css
This commit is contained in:
parent
f583f2f746
commit
51157c5e3a
@ -1,10 +1,13 @@
|
||||
import SkillCard from './SkillCard';
|
||||
import "../styles/SingleProject.css";
|
||||
function SingleProject({image, title, description, skills}) {
|
||||
function SingleProject({image, title, description, skills, color}) {
|
||||
return (
|
||||
<div className="single-project">
|
||||
<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 className="single-project-right">
|
||||
<h3 className="single-project-title">{title}</h3>
|
||||
@ -16,7 +19,11 @@ function SingleProject({image, title, description, skills}) {
|
||||
<li key={skill}><SkillCard text={skill}/></li>
|
||||
))}
|
||||
</ul>
|
||||
<p className="single-project-link">
|
||||
Learn more
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@ -1,38 +1,87 @@
|
||||
.single-project {
|
||||
display: flex;
|
||||
width: 80%;
|
||||
justify-self: center;
|
||||
margin-bottom: 4%;
|
||||
}
|
||||
|
||||
.single-project-left{
|
||||
width: 60%;
|
||||
margin-right: 2%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin: 2rem auto;
|
||||
background-color: #1E1E1E;
|
||||
overflow: hidden;
|
||||
height: 400px;
|
||||
img{
|
||||
transition: all 0.3s ease-in-out;
|
||||
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%;
|
||||
height: auto;
|
||||
object-fit: contain;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.single-project-right{
|
||||
width: 40%;
|
||||
margin-left: 2%;
|
||||
}
|
||||
|
||||
.single-project-skills-list{
|
||||
.single-project-right {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
padding: 2rem 2rem 2rem 0rem;
|
||||
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;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
li{
|
||||
margin: 0.5% 1%;
|
||||
}
|
||||
margin: 0;
|
||||
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;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user