Как сделать изогнутый заголовок с помощью SVG или другого адаптивного решения
Я пытаюсь сделать изогнутый заголовок. И мне интересно, если кто-нибудь может указать мне правильное направление / или лучший метод заголовка, как на следующем рисунке. Я не разработчик, поэтому я лажа.
вот изображение темы и изогнутый заголовок
А вот мой код. Как мне добиться того же заголовка на изображении выше?
*{
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
margin: 0;
}
:root{
--red-color:#FF5F6D;
--white-color:#FFFFFF;
--yellow-color:#fff9c4;
}
body{
padding: 0;
margin: 0;
}
.wrapper{
display: grid;
grid-template-columns: 1fr;
text-align: center;
align-items: center;
justify-content: center;
}
.wrapper >*{
font-size: 1.5rem;
font-weight: 800;
}
.t-orange-nav{
background-color: var(--red-color);
color: var(--yellow-color);
position: relative;
}
.t-orange-nav > div {
border-bottom: 3px solid white;
max-width: 800px;
margin: 0 auto;
padding: 20px 0;
}
.t-orange-nav p {
font-size: 10px;
}
.t-orange-header{
padding: 20px 0;
background-color: var(--red-color);
height: 200px;
color: var(--yellow-color);
width: 100%;
margin: 0 auto;
background: linear-gradient(#FF5F6D , #FFC371 );
}
.t-orange-section{
background-color: var(--white-color);
color: #FF5F6D;
height: 300px;
width: 95%;
margin: 0 auto;
}
.t-orange-section > div {
border-bottom: 3px solid black;
max-width: 1000px;
margin: 0 auto;
padding: 100px 0;
}
.t-orange-article{
background-color: var(--white-color);
color: #FF5F6D;
height: 300px;
width: 95%;
margin: 0 auto;
}
.t-orange-article > div {
border-bottom: 3px solid black;
max-width: 1000px;
margin: 0 auto;
padding: 100px 0;
}
.t-orange-aside{
background-color: var(--white-color);
color: var(--red-color);
height: 200px;
}
.t-orange-footer{
background-color: var(--red-color);
color: var(--yellow-color);
height: 50px;
}
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="style.css">
<title></title>
</head>
<body>
<div class="wrapper">
<nav class="t-orange-nav">
<div>
nav
</div>
</nav>
<header class="t-orange-header">
<div>
HEADER
</div>
</header>
<section class="t-orange-section">
<div>
section
</div>
</section>
<article class="t-orange-article">
<div>
article
</div>
</article>
<aside class="t-orange-aside">
aside
</aside>
<footer class="t-orange-footer">
footer
</footer>
</div>
</body>
</html>
1 ответ
Вы можете использовать изображение SVG для этого. Просто скопируйте приведенный ниже код в ваш html или сохраните его с расширением.svg и используйте его как обычное изображение.
<?xml version="1.0" encoding="utf-8"?>
<svg id="svg" version="1.1" style="display: block;" viewBox="0.148 0.121 399.909 187.745" xmlns="http://www.w3.org/2000/svg">
<defs>
<pattern id="pattern-0" x="0" y="0" width="25" height="25" patternUnits="userSpaceOnUse" viewBox="0 0 100 100">
<rect x="0" y="0" width="50" height="100" style="fill: black;"/>
</pattern>
<linearGradient id="gradient-3" gradientUnits="userSpaceOnUse" x1="221.781" y1="-17.569" x2="221.781" y2="162.313" gradientTransform="matrix(-0.999997, 0.002512, -0.002478, -0.986265, 326.399578, 161.652725)" spreadMethod="pad">
<stop offset="0" style="stop-color: rgb(254, 199, 131);"/>
<stop offset="1" style="stop-color: rgb(253, 122, 126);"/>
</linearGradient>
</defs>
<g id="svgg">
<path id="path1" d="M 0.317 160.263 C 0.491 160.322 54.672 181.321 96.41 186.555 C 138.827 191.875 170.592 177.656 200.188 146.3 C 235.21 109.196 258.892 111.366 299.457 117.682 C 336.776 123.493 399.859 155.012 399.781 157.423 C 399.76 158.082 400 0 400 0 L 0 0" stroke="none" fill-rule="evenodd" style="fill: url(#gradient-3);"/>
</g>
</svg>