App.js 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. import './App.css';
  2. import wd from './img/WD.svg';
  3. import frame from './img/Frame.svg'
  4. import group from './img/Group.png'
  5. import imgSkill from './img/skills.png'
  6. import code from './img/code.jpg'
  7. import vector from './img/Vector.png'
  8. import img1 from './img/img1.jpg'
  9. import img2 from './img/img2.jpg'
  10. import microsoft from './img/microsoft.svg'
  11. import vk from './img/vk.svg'
  12. const HeaderItem = ({children = 'Главная', url = '#'}) =>
  13. <li class="header-item">
  14. <a href={url}>{children}</a>
  15. </li>
  16. const Header = () =>
  17. <header class="header">
  18. <div class="container">
  19. <div class="header-wrap">
  20. <a class="logo" href="#">
  21. <img class="wd" src={wd} alt="logo" />
  22. </a>
  23. <nav class="nav">
  24. <input type="checkbox" id="burger" class="burger-checkbox" />
  25. <label for="burger" class="burger">
  26. <span></span>
  27. </label>
  28. <ul class="header-list">
  29. <HeaderItem>
  30. Главная
  31. </HeaderItem>
  32. <HeaderItem>
  33. Об Авторе
  34. </HeaderItem>
  35. <HeaderItem>
  36. Работы
  37. </HeaderItem>
  38. <HeaderItem>
  39. Процесс
  40. </HeaderItem>
  41. <HeaderItem>
  42. Контакты
  43. </HeaderItem>
  44. </ul>
  45. </nav>
  46. </div>
  47. </div>
  48. </header>
  49. const Main = () =>
  50. <main class="main">
  51. <SectionBanner />
  52. <SectionLorem />
  53. <SectionProject />
  54. <SectionSkill />
  55. <SectionWork />
  56. <SectionGallery />
  57. <SectionBrand />
  58. <SectionInput />
  59. </main>
  60. const SectionBanner = () =>
  61. <section class="section-banner">
  62. <div class="container">
  63. <div class="banner-wrap">
  64. <div class="col col--img">
  65. <img src={frame} alt="image description" />
  66. </div>
  67. <div class="col col--discription">
  68. <header class="section-header">
  69. <h1 class="tittle">Дизайн и верстка</h1>
  70. </header>
  71. <div class="holder">
  72. <p class="lorem-banner">Lorem Ipsum - это текст-"рыба", часто используемый в печати и вэб-дизайне. Lorem Ipsum является
  73. стандартной "рыбой" для текстов на латинице с начала XVI века.</p>
  74. <a href="#" class="btn">НАПИСАТЬ МНЕ</a>
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. </section>
  80. const SectionLorem = () =>
  81. <section class="section-lorem">
  82. <div class="banner">
  83. <h2 class="about-me">Обо мне</h2>
  84. <p class="lorem">Lorem Ipsum - это текст-"рыба", часто используемый в печати и вэб-дизайне. Lorem Ipsum
  85. является стандартной "рыбой" для текстов на латинице с начала XVI века.</p>
  86. </div>
  87. </section>
  88. const SectionProject = () =>
  89. <section class="section-project">
  90. <Project />
  91. <Project />
  92. <Project />
  93. <Project />
  94. <Project />
  95. <Project />
  96. </section>
  97. const Project = () =>
  98. <div class="project">
  99. <div class="img-project">
  100. <img src={group} alt="image description" />
  101. </div>
  102. <div class="text-project">
  103. <h3>40+</h3>
  104. <p class="proj">проектов</p>
  105. </div>
  106. </div>
  107. const SectionSkill = () =>
  108. <section class="section-skill">
  109. <div class="container">
  110. <div class="skill-row">
  111. <div class="skill-col skill-descr">
  112. <header class="section-header">
  113. <h2 class="tittle">Мои Навыки</h2>
  114. </header>
  115. <div class="skill-box">
  116. <SkillBox />
  117. <SkillBox />
  118. <SkillBox />
  119. </div>
  120. </div>
  121. <div class="skill-col skill-img">
  122. <img src={imgSkill} alt="image description" />
  123. </div>
  124. </div>
  125. </div>
  126. </section>
  127. const SkillBox = () =>
  128. <div class="skill-this">
  129. <span class="skill-label">Adobe Photoshop</span>
  130. <div class="skill-loader">
  131. <div class="skill-load" /* style="width: 75%;" */></div>
  132. </div>
  133. </div>
  134. const SectionWork = () =>
  135. <section class="section-work">
  136. <div class="work">
  137. <div class="text-work">
  138. <h2 class="present">Как я работаю</h2>
  139. <p class="lorem">Lorem Ipsum - это текст-"рыба", часто используемый в печати и вэб-дизайне. Lorem Ipsum
  140. является стандартной "рыбой" для текстов на латинице с начала XVI века.</p>
  141. </div>
  142. <div class="img-work">
  143. <img src={code} alt="image description" class="code-img" />
  144. <img src={vector} alt="image description" class="play" />
  145. </div>
  146. </div>
  147. </section>
  148. const SectionGallery = () =>
  149. <section class="section-gallery">
  150. <div class="row">
  151. <Gallery1>
  152. {img1}
  153. </Gallery1>
  154. <Gallery1>
  155. {img2}
  156. </Gallery1>
  157. <Gallery1>
  158. {img1}
  159. </Gallery1>
  160. <Gallery1>
  161. {img2}
  162. </Gallery1>
  163. <Gallery1>
  164. {img2}
  165. </Gallery1>
  166. <Gallery1>
  167. {img1}
  168. </Gallery1>
  169. <Gallery1>
  170. {img2}
  171. </Gallery1>
  172. <Gallery1>
  173. {img1}
  174. </Gallery1>
  175. </div>
  176. </section>
  177. const Gallery1 = ({children = {img1}, url = '#'}) =>
  178. <a href={url} class="gal">
  179. <img src={children} alt="image description" class="play" />
  180. </a>
  181. const SectionBrand = () =>
  182. <section class="section-brand">
  183. <MicrososftImg />
  184. <MicrososftImg />
  185. <MicrososftImg />
  186. <MicrososftImg />
  187. </section>
  188. const MicrososftImg = () =>
  189. <img src={microsoft} alt="image description" class="img-label" />
  190. const SectionInput = () =>
  191. <section class="section-input">
  192. <div class="form">
  193. <div class="text-form">
  194. <h2 class="present-form">Хотите веб-сайт?</h2>
  195. <p class="lorem">Lorem Ipsum - это текст-"рыба", часто используемый в печати и вэб-дизайне. Lorem Ipsum
  196. является стандартной "рыбой" для текстов на латинице с начала XVI века.</p>
  197. </div>
  198. <div class="input-form">
  199. <input class="input-name" type="text" placeholder="Ваше имя" />
  200. <input class="input-mail" type="text" placeholder="Ваш e-mail" />
  201. </div>
  202. <div class="message-form">
  203. <textarea class="textarea" name="#" id="text-mail" cols="30" rows="10" placeholder="Сообщение"></textarea>
  204. </div>
  205. <div class="btn-form">
  206. <a href="#" class="btn">Отправить</a>
  207. </div>
  208. </div>
  209. </section>
  210. const Footer = () =>
  211. <footer class="footer">
  212. <div class="footer-name">
  213. <h3>Иван Иванов</h3>
  214. <h4>(с) 2018. Все права защищены.</h4>
  215. </div>
  216. <div class="footer-logo">
  217. <Logo />
  218. <Logo />
  219. <Logo />
  220. </div>
  221. </footer>
  222. const Logo = ({url = '#'}) =>
  223. <a class="logo-vk" href={url}>
  224. <img class="vk" src={vk} alt="image description" />
  225. </a>
  226. const Wrapper = () =>
  227. <div class="wrapper">
  228. <Header />
  229. <Main />
  230. <Footer />
  231. </div>
  232. function App() {
  233. return (
  234. <Wrapper />
  235. );
  236. }
  237. export default App;