├── README.md ├── debug.log ├── assets ├── img │ ├── perfil.png │ ├── skill.jpg │ ├── work1.jpg │ ├── work2.jpg │ ├── work3.jpg │ ├── work4.jpg │ ├── work5.jpg │ └── work6.jpg ├── js │ └── main.js └── css │ └── style.css ├── yarn.lock ├── .idea ├── codeStyles │ └── codeStyleConfig.xml ├── modules.xml ├── Новая папка.iml └── workspace.xml └── index.html /README.md: -------------------------------------------------------------------------------- 1 | # beautifull-website 2 | very beautifull website for portfolio 3 | -------------------------------------------------------------------------------- /debug.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sammibadriddinov/beautifull-website/HEAD/debug.log -------------------------------------------------------------------------------- /assets/img/perfil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sammibadriddinov/beautifull-website/HEAD/assets/img/perfil.png -------------------------------------------------------------------------------- /assets/img/skill.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sammibadriddinov/beautifull-website/HEAD/assets/img/skill.jpg -------------------------------------------------------------------------------- /assets/img/work1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sammibadriddinov/beautifull-website/HEAD/assets/img/work1.jpg -------------------------------------------------------------------------------- /assets/img/work2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sammibadriddinov/beautifull-website/HEAD/assets/img/work2.jpg -------------------------------------------------------------------------------- /assets/img/work3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sammibadriddinov/beautifull-website/HEAD/assets/img/work3.jpg -------------------------------------------------------------------------------- /assets/img/work4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sammibadriddinov/beautifull-website/HEAD/assets/img/work4.jpg -------------------------------------------------------------------------------- /assets/img/work5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sammibadriddinov/beautifull-website/HEAD/assets/img/work5.jpg -------------------------------------------------------------------------------- /assets/img/work6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sammibadriddinov/beautifull-website/HEAD/assets/img/work6.jpg -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/Новая папка.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/workspace.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 1602387854361 28 | 33 | 34 | 35 | 36 | 38 | -------------------------------------------------------------------------------- /assets/js/main.js: -------------------------------------------------------------------------------- 1 | /*=========== SHOW MENU ===============*/ 2 | const showMenu = (toggleId, navId) => { 3 | const toggle = document.getElementById(toggleId); 4 | const nav = document.getElementById(navId); 5 | 6 | if (toggle && nav) { 7 | toggle.addEventListener('click', () => { 8 | nav.classList.toggle('show') 9 | }) 10 | } 11 | } 12 | showMenu('nav-toggle', 'nav-menu') 13 | 14 | /*=========== REMOVE MENU MOBILE ===============*/ 15 | const navLink = document.querySelectorAll('.nav__link') 16 | 17 | function linkAction() { 18 | const navMenu = document.getElementById('nav-menu') 19 | navMenu.classList.remove('show') 20 | } 21 | navLink.forEach(n => n.addEventListener('click', linkAction)) 22 | 23 | /*=========== SCROLL SECTION ACTIVE LINK ===============*/ 24 | const sections = document.querySelectorAll('section[id]') 25 | 26 | window.addEventListener('scroll', scrollActive) 27 | 28 | function scrollActive() { 29 | const scrollY = window.scrollY 30 | 31 | sections.forEach(function (current) { 32 | const sectionHeight = current.offsetHeight 33 | const sectionTop = current.offsetTop - 50; 34 | const sectionId = current.getAttribute('id') 35 | 36 | if(scrollY > sectionTop && scrollY <= sectionTop + sectionHeight){ 37 | document.querySelector('.nav__menu a[href*=' + sectionId +']').classList.add('active') 38 | }else{ 39 | document.querySelector('.nav__menu a[href*=' + sectionId +']').classList.remove('active') 40 | 41 | } 42 | }) 43 | } 44 | 45 | /*=========== SCROLL REVEAL ANIMATION ===============*/ 46 | const sr = ScrollReveal({ 47 | origin: 'top', 48 | distance: '80px', 49 | duration: 2000, 50 | reset: true 51 | }) 52 | /*=========== SCROLL ABOUT ===============*/ 53 | sr.reveal('.home__title', {}) 54 | sr.reveal('.home__scroll', {delay: 200}) 55 | sr.reveal('.home__img', {origin:'right', delay: 400}) 56 | 57 | sr.reveal('.about__img', {delay:500}) 58 | sr.reveal('.about__subtitle', {delay:300}) 59 | sr.reveal('.about__profession', {delay:400}) 60 | sr.reveal('.about__text', {delay:500}) 61 | sr.reveal('.about__social-icon', {delay:600, interval: 200}) 62 | 63 | sr.reveal('.skills__subtitle', {}) 64 | sr.reveal('.skills__name', {distance: '20px', delay:50, interval:100}) 65 | sr.reveal('.skills__img', {delay:400}) 66 | 67 | sr.reveal('.portfolio__img', {interval: 200}) 68 | 69 | 70 | sr.reveal('.contact__subtitle', {}) 71 | sr.reveal('.contact__text', {interval: 200}) 72 | sr.reveal('.contact__input', {delay: 400}) 73 | sr.reveal('.contact__text', {interval: 200}) 74 | sr.reveal('.contact__button', {delay: 600}) 75 | 76 | 77 | 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | Document 14 | 15 | 16 | 17 | 18 | 37 | 38 |
39 | 40 |
41 |
42 |

HE
LLO.

43 | 44 |
45 | Scroll down 46 |
47 | 48 | 49 |
50 |
51 | 52 | 53 | 54 | 55 |
56 |

About

57 |
58 |
59 | 60 |
61 |
62 |

I am Samar

63 | Front-End Developer 64 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit. A accusamus culpa delectus deserunt, dolor dolores eos exercitationem illo incidunt, iusto laborum molestias quis quisquam repudiandae!

65 | 66 | 71 |
72 |
73 | 74 |
75 | 76 | 77 | 78 | 79 |
80 |

Skills

81 | 82 |
83 |
84 |

Development

85 | Html 86 | Css 87 | Javascript 88 | Bootstrap 89 | jQuery 90 | React 91 | 92 |

Design

93 | Figma 94 | Adobe XD 95 | Photoshop 96 | 97 | 98 |
99 |
100 | 101 |
102 |
103 |
104 | 105 | 106 | 107 | 108 | 109 |
110 |

Portfolio

111 | 112 |
113 |
114 | 115 | 116 | 119 |
120 |
121 | 122 | 123 | 126 |
127 |
128 | 129 | 130 | 133 |
134 |
135 | 136 | 137 | 140 |
141 |
142 | 143 | 144 | 147 |
148 |
149 | 150 | 151 | 154 |
155 |
156 |
157 | 158 | 159 | 160 |
161 |

Contact

162 | 163 |
164 |
165 |

EMAIL

166 | samarbadriddinov08@gmail.com 167 | 168 |

PHONE

169 | +998(90)113-11-01 170 | 171 |

ADRESS

172 | Ibn Sino 173 |
174 | 175 |
176 |
177 | 178 | 179 |
180 | 181 | 182 | 183 | 184 |
185 |
186 |
187 |
188 | 189 | 190 | 191 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | -------------------------------------------------------------------------------- /assets/css/style.css: -------------------------------------------------------------------------------- 1 | /*===== GOOGLE FONTS =====*/ 2 | @import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700&display=swap"); 3 | 4 | /*=========== VARIABES CSS ===============*/ 5 | :root{ 6 | --header-height: 3rem; 7 | --font-medium: 500; 8 | } 9 | /*=========== Colores ===============*/ 10 | :root{ 11 | --first-color: #5361ff; 12 | --white-color: #FAFAFF; 13 | --dark-color: #2A3B47; 14 | --text-color: #697477; 15 | } 16 | /*=========== Typografia ===============*/ 17 | :root{ 18 | --body-font: 'Montserrat', sans-serif; 19 | --big-font-size: 6.25rem; 20 | --h2-font-size: 1.25rem; 21 | --normal-font-size: .938rem; 22 | --small-font-size: .813rem; 23 | } 24 | @media screen and (min-width: 768px){ 25 | :root{ 26 | --big-font-size: 10.5rem; 27 | --h2-font-size: 2rem; 28 | --normal-font-size: 1rem; 29 | --small-font-size: .875rem; 30 | } 31 | } 32 | 33 | /*=========== Margenes ===============*/ 34 | :root{ 35 | --mb-1: .5rem; 36 | --mb-2: 1rem; 37 | --mb-3: 1.5rem; 38 | --mb-4: 2rem; 39 | } 40 | /*=========== Z-Index ===============*/ 41 | :root{ 42 | --z-fixed: 100; 43 | } 44 | /*=========== Base ===============*/ 45 | *,::before,::after{ 46 | box-sizing: border-box; 47 | } 48 | html{ 49 | scroll-behavior: smooth; 50 | } 51 | body{ 52 | margin: var(--header-height) 0 0 0; 53 | font-family: var(--body-font); 54 | font-size: var(--normal-font-size); 55 | font-weight: var(--font-medium); 56 | color: var(--text-color); 57 | line-height: 1.6; 58 | } 59 | h1, h2, p{ 60 | margin: 0; 61 | } 62 | ul{ 63 | margin: 0; 64 | padding: 0; 65 | list-style: none; 66 | } 67 | a{ 68 | text-decoration: none; 69 | color: var(--text-color); 70 | } 71 | img{ 72 | max-width: 100%; 73 | height: auto; 74 | display: block; 75 | } 76 | 77 | /*=========== CLASS CSS ===============*/ 78 | .section{ 79 | padding: 3rem 0; 80 | } 81 | .section-title{ 82 | position: relative; 83 | font-size: var(--h2-font-size); 84 | color: var(--dark-color); 85 | margin: var(--mb-4) 0; 86 | text-align: center; 87 | } 88 | .section-title::after{ 89 | position: absolute; 90 | content: ""; 91 | width: 32px; 92 | height: .18rem; 93 | left: 0; 94 | right: 0; 95 | margin: auto; 96 | top: 2rem; 97 | background: var(--first-color); 98 | } 99 | 100 | /*=========== LAYOUT ===============*/ 101 | .bd-grid{ 102 | max-width: 1024px; 103 | display: grid; 104 | grid-template-columns: 100%; 105 | grid-column-gap: 2rem; 106 | width: calc(100% - 2rem); 107 | margin-left: var(--mb-2); 108 | margin-right: var(--mb-2); 109 | } 110 | .l-header{ 111 | width: 100%; 112 | position: fixed; 113 | top: 0; 114 | left: 0; 115 | z-index: var(--z-fixed); 116 | background: var(--first-color); 117 | } 118 | /*=========== NAV ===============*/ 119 | .nav{ 120 | height: var(--header-height); 121 | display: flex; 122 | justify-content: space-between; 123 | align-items: center; 124 | } 125 | @media screen and (max-width: 768px) { 126 | .nav__menu{ 127 | position: fixed; 128 | top: var(--header-height); 129 | right: -100%; 130 | width: 80%; 131 | height: 100%; 132 | padding: 2rem; 133 | background: rgba(255, 255, 255, .3); 134 | transition: .5s; 135 | backdrop-filter: blur(10px); 136 | } 137 | } 138 | .nav__item{ 139 | margin-bottom: var(--mb-4); 140 | } 141 | .nav__link{ 142 | position: relative; 143 | color: var(--dark-color); 144 | } 145 | .nav__link:hover{ 146 | color: var(--first-color); 147 | } 148 | .nav__logo{ 149 | color: var(--white-color); 150 | } 151 | .nav__toggle{ 152 | color: var(--white-color); 153 | font-size: 1.5rem; 154 | cursor: pointer; 155 | } 156 | /*=========== SHOW MENU ===============*/ 157 | .show{ 158 | right: 0; 159 | } 160 | 161 | /*=========== ACTIVE MENU ===============*/ 162 | .active::after{ 163 | position: absolute; 164 | content: ""; 165 | width: 100%; 166 | height: .18rem; 167 | left: 0; 168 | top: 2rem; 169 | background: var(--first-color); 170 | } 171 | /**/ 172 | .home{ 173 | position: relative; 174 | background-color: var(--first-color); 175 | overflow: hidden; 176 | } 177 | .home__container{ 178 | height: calc(100vh - var(--header-height)); 179 | row-gap: 5rem; 180 | } 181 | .home__title{ 182 | align-self: flex-end; 183 | font-size: var(--big-font-size); 184 | color: var(--white-color); 185 | line-height: .8; 186 | } 187 | .home__title span{ 188 | text-shadow: 0 20px 25px rgba(0,0,0,.5); 189 | } 190 | .home__scroll{ 191 | align-self: flex-end; 192 | padding-bottom: var(--mb-4); 193 | } 194 | .home__scroll-link{ 195 | writing-mode: vertical-lr; 196 | transform: rotate(-180deg); 197 | color: var(--white-color); 198 | } 199 | .home__img{ 200 | position: absolute; 201 | right: 0; 202 | bottom: 0; 203 | width: 295px; 204 | } 205 | 206 | /**/ 207 | .about__container{ 208 | justify-items: center; 209 | row-gap: 2rem; 210 | text-align: center; 211 | } 212 | .about__img{ 213 | display: flex; 214 | justify-content: center; 215 | padding-top: 1rem; 216 | width: 120px; 217 | height: 120px; 218 | background: var(--first-color); 219 | border-radius: 50%; 220 | overflow: hidden; 221 | } 222 | .about__img img{ 223 | width: 100px; 224 | } 225 | .about__subtitle{ 226 | font-size: var(--h2-font-size); 227 | color: var(--first-color); 228 | margin-bottom: var(--mb-4); 229 | } 230 | .about__text{ 231 | margin-bottom: var(--mb-4); 232 | } 233 | .about__profession{ 234 | display: block; 235 | margin-bottom: var(--mb-4); 236 | } 237 | .about__social-icon{ 238 | font-size: 1.4rem; 239 | margin: 0 var(--mb-1); 240 | } 241 | .about__social-icon:hover{ 242 | color: var(--first-color); 243 | } 244 | 245 | 246 | /**/ 247 | .skills__container{ 248 | row-gap: 2rem; 249 | } 250 | .skills__subtitle{ 251 | color: var(--first-color); 252 | margin-bottom: var(--mb-3); 253 | } 254 | .skills__name{ 255 | display: inline-block; 256 | font-size: var(--small-font-size); 257 | margin-right: var(--mb-2); 258 | margin-bottom: var(--mb-3); 259 | padding: .25rem .5rem; 260 | background: var(--white-color); 261 | border-radius: .25rem; 262 | } 263 | .skills__name:hover{ 264 | background: var(--first-color); 265 | color: var(--white-color); 266 | } 267 | .skills__img img{ 268 | border-radius: .5rem; 269 | } 270 | 271 | 272 | 273 | /**/ 274 | .portfolio{ 275 | background: var(--white-color); 276 | } 277 | .portfolio__container{ 278 | justify-content: center; 279 | row-gap: 2rem; 280 | } 281 | .portfolio__img{ 282 | position: relative; 283 | overflow: hidden; 284 | } 285 | .portfolio__img img{ 286 | border-radius: .5rem; 287 | } 288 | .portfolio__link{ 289 | position: absolute; 290 | bottom: -100%; 291 | width: 100%; 292 | height: 100%; 293 | display: flex; 294 | justify-content: center; 295 | align-items: center; 296 | background: rgba(255, 255, 255, .3); 297 | border-radius: .5rem; 298 | cursor: pointer; 299 | backdrop-filter: blur(10px); 300 | transition: .3s linear; 301 | } 302 | .portfolio__img:hover .portfolio__link{ 303 | bottom: 0; 304 | } 305 | .portfolio__link-name{ 306 | color: var(--dark-color); 307 | } 308 | 309 | /**/ 310 | .contact__container{ 311 | row-gap: 2rem; 312 | } 313 | .contact__subtitle{ 314 | font-size: var(--normal-font-size); 315 | color: var(--first-color); 316 | } 317 | .contact__text{ 318 | display: inline-block; 319 | margin-bottom: var(--mb-2); 320 | } 321 | .contact__inputs{ 322 | display: grid; 323 | grid-template-columns: repeat(2, 1fr); 324 | column-gap: 1rem; 325 | } 326 | .contact__input{ 327 | width: 100%; 328 | padding: .8rem; 329 | outline: none; 330 | border: 1.5px solid var(--dark-color); 331 | font-size: var(--normal-font-size); 332 | margin-bottom: var(--mb-4); 333 | border-radius: .5rem; 334 | } 335 | .contact__button{ 336 | display: block; 337 | background: var(--first-color); 338 | color: var(--white-color); 339 | padding: .75rem 2.5rem; 340 | margin-left: auto; 341 | border-radius: .5rem; 342 | border: none; 343 | font-size: var(--normal-font-size); 344 | cursor: pointer; 345 | } 346 | /*footer*/ 347 | .footer{ 348 | background-color: var(--dark-color); 349 | } 350 | .footer__container{ 351 | row-gap: 2rem; 352 | } 353 | .footer__title{ 354 | font-size: var(--normal-font-size); 355 | color: var(--white-color); 356 | margin-bottom: var(--mb-2); 357 | } 358 | .footer__link{ 359 | padding: .25rem 0; 360 | } 361 | .footer__link:hover{ 362 | color: var(--first-color); 363 | } 364 | .footer__social{ 365 | font-size: 1.4rem; 366 | margin-right: var(--mb-1); 367 | } 368 | .footer__social:hover{ 369 | color: var(--first-color); 370 | } 371 | 372 | /*========= MEDIA QUERY ============*/ 373 | 374 | @media screen and (min-width: 768px) { 375 | body{ 376 | margin: 0; 377 | } 378 | .section{ 379 | padding-top: 4rem; 380 | } 381 | .section-title{ 382 | margin-bottom: 3rem; 383 | } 384 | .section-title::after{ 385 | width: 64px; 386 | top: 3rem; 387 | } 388 | 389 | .nav{ 390 | height: calc(var(--header-height) + 1rem) 391 | } 392 | .nav__list{ 393 | display: flex; 394 | } 395 | .nav__item{ 396 | margin-left: var(--mb-4); 397 | margin-bottom: 0; 398 | } 399 | .nav__toggle{ 400 | display: none; 401 | } 402 | .nav__link{ 403 | color: var(--white-color); 404 | } 405 | .nav__link:hover{ 406 | color: var(--white-color); 407 | } 408 | .active::after{ 409 | background-color: var(--white-color); 410 | } 411 | 412 | .home__container{ 413 | height: 100vh; 414 | grid-template-rows: 1.7fr 1fr; 415 | row-gap: 0; 416 | } 417 | .home__img{ 418 | width: 524px; 419 | right: 10%; 420 | } 421 | 422 | .about__container{ 423 | grid-template-columns: repeat(2, 1fr); 424 | align-items: center; 425 | text-align: initial; 426 | padding: 4rem 0; 427 | } 428 | .about__img{ 429 | width: 200px; 430 | height: 200px; 431 | } 432 | .about__img img{ 433 | width: 165px; 434 | } 435 | .skills__container{ 436 | grid-template-columns: repeat(2, 1fr); 437 | align-items: center; 438 | } 439 | .portfolio__container{ 440 | grid-template-columns: repeat(3, 1fr); 441 | grid-template-rows: repeat(2, 1fr); 442 | column-gap: 2rem; 443 | } 444 | .contact__container{ 445 | grid-template-columns: repeat(2, 1fr); 446 | justify-items: center; 447 | } 448 | .contact__form{ 449 | width: 380px; 450 | } 451 | 452 | .footer__container{ 453 | grid-template-columns: repeat(3, 1fr); 454 | justify-items: center; 455 | } 456 | } 457 | @media screen and (min-width: 1024px){ 458 | .bd-grid{ 459 | margin-left: auto; 460 | margin-right: auto; 461 | } 462 | } 463 | 464 | 465 | 466 | 467 | 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | --------------------------------------------------------------------------------