File tree Expand file tree Collapse file tree 3 files changed +162
-0
lines changed
2-desenvolvimento-front-end/DR1-mobile-first-ui/DR1-TP3.11~3.16/src Expand file tree Collapse file tree 3 files changed +162
-0
lines changed Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ import './global.css';
22import './styles.css' ;
33import './App.css' ;
44import Menu from './components/Menu/Menu' ;
5+ import Hero from './components/Hero/Hero' ;
56
67function App ( ) {
78 return (
@@ -15,6 +16,8 @@ function App() {
1516
1617 < Menu />
1718
19+ < Hero />
20+
1821 < main className = "app-main" >
1922 < div className = "container" >
2023 < section id = "sobre" className = "app-section" >
Original file line number Diff line number Diff line change 1+ import './hero.css' ;
2+
3+ function Hero ( ) {
4+ return (
5+ < section className = "hero" >
6+ < div className = "hero-container" >
7+ < div className = "hero-content" >
8+ < h1 className = "hero-title" > Bem-vindo ao Futuro do Desenvolvimento</ h1 >
9+ < p className = "hero-subtitle" >
10+ Construa aplicações modernas com React, CSS e as melhores práticas
11+ de desenvolvimento web. Responsive, elegante e profissional.
12+ </ p >
13+ < div className = "hero-actions" >
14+ < button className = "primary" > Começar Agora</ button >
15+ < button > Saiba Mais</ button >
16+ </ div >
17+ </ div >
18+ < div className = "hero-image" >
19+ < picture >
20+ < source
21+ media = "(min-width: 992px)"
22+ srcSet = "https://images.unsplash.com/photo-1498050108023-c5249f4df085?w=800& h = 600 & fit = crop "
23+ />
24+ < source
25+ media = "(min-width: 576px)"
26+ srcSet = "https://images.unsplash.com/photo-1498050108023-c5249f4df085?w=600& h = 450 & fit = crop "
27+ />
28+ < img
29+ src = "https://images.unsplash.com/photo-1498050108023-c5249f4df085?w=400& h = 300 & fit = crop "
30+ alt = "Desenvolvedor trabalhando em código"
31+ className = "hero-img"
32+ />
33+ </ picture >
34+ </ div >
35+ </ div >
36+ </ section >
37+ ) ;
38+ }
39+
40+ export default Hero ;
Original file line number Diff line number Diff line change 1+ /* Estilos do componente Hero - Mobile First */
2+
3+ .hero {
4+ background : linear-gradient (135deg , var (--bg-secondary ) 0% , var (--bg-primary ) 100% );
5+ border-bottom : 1px solid var (--border-color );
6+ padding : 40px 0 ;
7+ }
8+
9+ .hero-container {
10+ max-width : 1128px ;
11+ margin : 0 auto;
12+ padding : 0 24px ;
13+ display : flex;
14+ flex-direction : column;
15+ gap : 32px ;
16+ }
17+
18+ .hero-content {
19+ display : flex;
20+ flex-direction : column;
21+ gap : 20px ;
22+ text-align : center;
23+ }
24+
25+ .hero-title {
26+ font-size : 2rem ;
27+ font-weight : 700 ;
28+ color : var (--text-primary );
29+ line-height : 1.2 ;
30+ margin : 0 ;
31+ letter-spacing : -0.5px ;
32+ }
33+
34+ .hero-subtitle {
35+ font-size : 1.1rem ;
36+ color : var (--text-secondary );
37+ line-height : 1.6 ;
38+ margin : 0 ;
39+ }
40+
41+ .hero-actions {
42+ display : flex;
43+ gap : 12px ;
44+ justify-content : center;
45+ flex-wrap : wrap;
46+ }
47+
48+ .hero-image {
49+ width : 100% ;
50+ display : flex;
51+ justify-content : center;
52+ align-items : center;
53+ }
54+
55+ .hero-img {
56+ width : 100% ;
57+ max-width : 400px ;
58+ height : auto;
59+ border-radius : 12px ;
60+ box-shadow : 0 4px 12px rgba (0 , 0 , 0 , 0.3 );
61+ border : 1px solid var (--border-color );
62+ }
63+
64+ /* Tablets - 576px até 992px */
65+ @media (min-width : 576px ) and (max-width : 992px ) {
66+ .hero {
67+ padding : 60px 0 ;
68+ }
69+
70+ .hero-title {
71+ font-size : 2.5rem ;
72+ }
73+
74+ .hero-subtitle {
75+ font-size : 1.2rem ;
76+ }
77+
78+ .hero-img {
79+ max-width : 600px ;
80+ }
81+ }
82+
83+ /* Desktop - acima de 992px */
84+ @media (min-width : 992px ) {
85+ .hero {
86+ padding : 80px 0 ;
87+ }
88+
89+ .hero-container {
90+ flex-direction : row;
91+ align-items : center;
92+ gap : 60px ;
93+ }
94+
95+ .hero-content {
96+ flex : 1 ;
97+ text-align : left;
98+ }
99+
100+ .hero-title {
101+ font-size : 3rem ;
102+ }
103+
104+ .hero-subtitle {
105+ font-size : 1.25rem ;
106+ }
107+
108+ .hero-actions {
109+ justify-content : flex-start;
110+ }
111+
112+ .hero-image {
113+ flex : 1 ;
114+ }
115+
116+ .hero-img {
117+ max-width : 100% ;
118+ }
119+ }
You can’t perform that action at this time.
0 commit comments