Текст на фоне логотипа
Есть логотип в виде текста "Logo" и под ним ещё текст "logo text"
https://jsfiddle.net/4tp2hkL0/
Также под логотипом есть фон в виде картинки, и проблема в том, что "logo text" должен немного быть сверху нижней линии, и чтобы под текстом не было видно линии, но был виден фон.
Сделал чтобы линии скрывались с помощью overflow: hidden, но нижняя часть текста также скрывается.
Как это сделать правильно?
Может нужно по другому делать линии? Проблема именно в полосе вокруг текста Logo, и чтобы под текстом "logo text" не было видно этой полоски.
aside{
width: 50%;
}
header .logo h1{
font-size: 32px;
text-transform: uppercase;
font-weight: bold;
color: #fff;
}
aside{
padding: 30px 33px;
background-color: gray;
}
header .logo{
position: relative;
display: inline-block;
border-top: 3px solid rgba(197, 124, 24, 0.6);
border-left: 3px solid rgba(197, 124, 24, 0.6);
border-right: 3px solid rgba(197, 124, 24, 0.6);
overflow: hidden;
}
header .logo h1{
font-size: 48px;
padding: 10px;
}
header .logo span{
font-size: 15px;
position: absolute;
bottom: -9px;
right: 35px;
text-transform: uppercase;
color: #fff;
line-height: 1;
padding: 4px;
}
header .logo span::before{
content: '';
position: absolute;
top: 50%;
left: -100%;
width: 200%;
height: 3px;
background: rgba(197, 124, 24, 0.6);
transform: translateX(-50%);
}
header .logo span::after{
content: '';
position: absolute;
top: 50%;
right: -100%;
width: 200%;
height: 3px;
background: rgba(197, 124, 24, 0.6);
transform: translateX(50%);
}
<aside>
<header>
<div class="logo">
<h1>Logo</h1>
<span>logo text</span>
</div>
</header>
</aside>
Ответы (1 шт):
Автор решения: Sevastopol'
→ Ссылка
aside {
width: 90%;
margin: 2px;
padding: 20px;
background-color: lightgray;
}
header .logo h1 {
font-size: 32px;
text-transform: uppercase;
font-weight: bold;
color: black;
}
header .logo {
display: inline-block;
position: relative;
overflow: hidden;
background: linear-gradient(180deg, red, red 3px, transparent 3px, transparent 100%), linear-gradient(90deg, red, red 3px, transparent 3px, transparent 100%), linear-gradient(90deg, transparent, transparent calc(100% - 3px), red calc(100% - 3px), red 100%);
background-size: 100% 100%, 100% calc(100% - 10px), 100% calc(100% - 10px);
background-position: 0 0, 0 0, 0 0;
background-repeat: no-repeat;
}
header .logo h1 {
font-size: 50px;
padding: 20px;
}
header .logo span {
display: block;
position: absolute;
bottom: 0;
left: 50%;
transform: translate(-50%, 0);
padding: 0 5px;
height: 20px;
line-height: 20px;
font-size: 15px;
text-transform: uppercase;
color: black;
}
header .logo span::before,
header .logo span::after {
content: '';
position: absolute;
top: 50%;
width: 10000%;
height: 3px;
background: red;
}
header .logo span::before {
left: -5000%;
transform: translateX(-50%);
}
header .logo span::after {
right: -5000%;
transform: translateX(50%);
}
<aside>
<header>
<div class="logo">
<h1>Logo</h1>
<span>logo text</span>
</div>
</header>
</aside>
<aside>
<header>
<div class="logo">
<h1>Logo Logo</h1>
<span>logo</span>
</div>
</header>
</aside>
<aside>
<header>
<div class="logo">
<h1>Lo</h1>
<span>logo</span>
</div>
</header>
</aside>
<aside>
<header>
<div class="logo">
<h1>Logo Logo Logo</h1>
<span>l</span>
</div>
</header>
</aside>