App.js 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. import './App.css';
  2. import logo from './image/WD.svg';
  3. import frame from './image/Frame.svg';
  4. import group from './image/Group.svg';
  5. import video from './image/video.png';
  6. import play from './image/Play.svg';
  7. import paper from './image/img-03.png';
  8. import notebook from './image/img-04.png';
  9. import microsoft from './image/Microsoft.png';
  10. import vk from './image/VK.svg';
  11. import men from './image/men_photo.jpg';
  12. const HeaderItem = ({children ='ГЛАВНАЯ', url='#'}) =>
  13. <li className="header-item">
  14. <a href={url} className="header-item">{children}</a>
  15. </li>
  16. const Header = () =>
  17. <header className="header">
  18. <div className="container">
  19. <div className="header-wrap">
  20. <a href="#" className="logo">
  21. <img src={logo} alt="image description" />
  22. </a>
  23. <nav className="nav">
  24. <input type="checkbox" id="burger" className="burger-checkbox" />
  25. <label for="burger" className="burger">
  26. <span></span>
  27. </label>
  28. <ul className="header-list">
  29. <HeaderItem/>
  30. <HeaderItem>ОБ АВТОРЕ</HeaderItem>
  31. <HeaderItem>РАБОТЫ</HeaderItem>
  32. <HeaderItem>ПРОЦЕСС</HeaderItem>
  33. <HeaderItem>КОНТАКТЫ</HeaderItem>
  34. </ul>
  35. </nav>
  36. </div>
  37. </div>
  38. </header>
  39. const SectionBanner = () =>
  40. <div className="section-banner">
  41. <div className="container">
  42. <div className="banner-wrap">
  43. <div className="col col--img">
  44. <img src={frame} alt="image description" />
  45. </div>
  46. <div className="col col--description">
  47. <header className="section-header">
  48. <h1 className="title">Дизайн и верстка</h1>
  49. </header>
  50. <div className="holder">
  51. <p>
  52. Lorem Ipsum - это текст-"рыба", часто используемый в печати
  53. и вэб-дизайне. Lorem Ipsum является стандартной "рыбой" для
  54. текстов на латинице с начала XVI века.
  55. </p>
  56. </div>
  57. <a href="#" className="btn">НАПИСАТЬ МНЕ</a>
  58. </div>
  59. </div>
  60. </div>
  61. </div>
  62. const Article = ({children='Обо мне', text_p}) =>
  63. <div class="about-me-text">
  64. <header class="about-me-header">
  65. <h2 class="title">{children}</h2>
  66. </header>
  67. <p>
  68. {text_p}
  69. </p>
  70. </div>
  71. const SectionAboutMe = () =>
  72. <section className="section-about-me">
  73. <div className="container">
  74. <Article text_p={'Lorem Ipsum - это текст-"рыба", часто используемый в печати и вэб-дизайне. Lorem Ipsum является стандартной "рыбой" для текстов на латинице с начала XVI века.'}/>
  75. </div>
  76. </section>
  77. const ProjectCol = ({children='#', quantity='40+', project_name='проектов'}) =>
  78. <div className="project-col">
  79. <div className="project-image">
  80. <a href={children} target="_blank">
  81. <img src={group} alt="image description" />
  82. </a>
  83. </div>
  84. <div className="project-description">
  85. <p>{quantity}</p>
  86. <p>{project_name}</p>
  87. </div>
  88. </div>
  89. const SectionProjects = () =>
  90. <section className="section-projects">
  91. <div className="container">
  92. <div className="projects-wrap">
  93. <ProjectCol />
  94. <ProjectCol />
  95. <ProjectCol />
  96. <ProjectCol />
  97. <ProjectCol />
  98. <ProjectCol />
  99. </div>
  100. </div>
  101. </section>
  102. const SkillsThis = ({children='Adobe Photoshop'}) =>
  103. <div className="skill-this">
  104. <span className="skill-label">{children}</span>
  105. <div className="skill-loader">
  106. <div className="skill-load" style="width: 75%"></div>
  107. </div>
  108. </div>
  109. const SectionSkill = () =>
  110. <section className="section-skill">
  111. <div className="container">
  112. <div className="skill-row">
  113. <div className="skill-col skill-descr">
  114. <header className="section-header">
  115. <h2 className="title">Мои навыки</h2>
  116. </header>
  117. <div className="skill-box">
  118. <SkillsThis/>
  119. <SkillsThis/>
  120. <SkillsThis/>
  121. </div>
  122. </div>
  123. <div className="skill-col skill-img"
  124. ></div>
  125. </div>
  126. </div>
  127. </section>
  128. const SectionVideo = () =>
  129. <section className="section-video">
  130. <div className="container">
  131. <div className="video-wrap">
  132. <Article text_p={'Lorem Ipsum - это текст-"рыба", часто используемый в печати и вэб-дизайне. Lorem Ipsum является стандартной "рыбой" для текстов на латинице с начала XVI века.'}> Как я работаю </Article>
  133. <div className="video-img">
  134. <img src={video} alt="image desription" />
  135. <div className="video-play">
  136. <a href="#">
  137. <img src={play} alt="image description"
  138. /></a>
  139. </div>
  140. </div>
  141. </div>
  142. </div>
  143. </section>
  144. const PaperImg = () =>
  145. <a
  146. href="#"
  147. target="_blank"
  148. className="col"
  149. style={{ backgroundImage: `url(${paper})` }}
  150. ></a>
  151. const NotebookImg = () =>
  152. <a
  153. href="#"
  154. target="_blank"
  155. className="col"
  156. style={{ backgroundImage: `url(${notebook})`}}
  157. ></a>
  158. const SectionGallery = () =>
  159. <section className="section-gallery">
  160. <div className="row">
  161. <PaperImg/>
  162. <NotebookImg/>
  163. <PaperImg/>
  164. <NotebookImg/>
  165. <NotebookImg/>
  166. <PaperImg/>
  167. <NotebookImg/>
  168. <PaperImg/>
  169. </div>
  170. </section>
  171. const MicrosoftImg = () =>
  172. <div className="microsoft-img">
  173. <a href="#" target="_blank">
  174. <img src={microsoft} alt="image description"
  175. /></a>
  176. </div>
  177. const SectionMicrosoft = () =>
  178. <section className="section-microsoft">
  179. <div className="container">
  180. <div className="microsoft-wrap">
  181. <MicrosoftImg/>
  182. <MicrosoftImg/>
  183. <MicrosoftImg/>
  184. <MicrosoftImg/>
  185. </div>
  186. </div>
  187. </section>
  188. const SectionForm = () =>
  189. <section className="section-form">
  190. <div className="container">
  191. <div className="form-wrap">
  192. <Article text_p={'Lorem Ipsum - это текст-"рыба", часто используемый в печати и вэб-дизайне. Lorem Ipsum является стандартной "рыбой" для текстов на латинице с начала XVI века.'}> Хотите вэб-сайт? </Article>
  193. <form action="#" className="form">
  194. <div className="form-contacts">
  195. <input
  196. type="text"
  197. name=""
  198. id="name"
  199. placeholder="Ваше имя"
  200. />
  201. <input
  202. type="email"
  203. name=""
  204. id="email"
  205. placeholder="Ваш e-mail"
  206. />
  207. </div>
  208. <textarea
  209. className="form-message"
  210. placeholder="Сообщение"
  211. name=""
  212. id=""
  213. cols="30"
  214. rows="10"
  215. ></textarea>
  216. <div className="form-btn">
  217. <button href="#" type="submit" className="btn">Отправить</button>
  218. </div>
  219. </form>
  220. </div>
  221. </div>
  222. </section>
  223. const Icon = () =>
  224. <a href="#" target="_blank">
  225. <img src={vk} alt="image description" />
  226. </a>
  227. const Footer = () =>
  228. <footer class="footer">
  229. <div class="container">
  230. <div class="footer-wrap">
  231. <div class="footer-contacts">
  232. <p>Иванов Иван</p>
  233. <p><sub>(с)</sub> 2018. Все права защищены.</p>
  234. </div>
  235. <div class="social-networks">
  236. <Icon/>
  237. <Icon />
  238. <Icon />
  239. </div>
  240. </div>
  241. </div>
  242. </footer>
  243. function App() {
  244. return (
  245. <>
  246. <Header />
  247. <SectionBanner />
  248. <SectionAboutMe />
  249. <SectionProjects />
  250. {/* <SectionSkill /> */}
  251. <SectionVideo />
  252. <SectionGallery />
  253. <SectionMicrosoft />
  254. <SectionForm />
  255. <Footer />
  256. </>
  257. );
  258. }
  259. export default App;