<form>
<div class="form-group">
<input type="text" name="name" class="form-control" placeholder="Your Name">
</div>
<button type="submit"><span>Submit</span></button>
</form>
* {
box-sizing: border-box;
}
.form-group {
position: relative;
background: #fff;
}
.form-control {
width: 100%;
height: 2.5rem;
background: transparent;
border: none;
}
button {
border:none;
background: transparent;
position: relative;
padding: 1rem 2rem;
}
button span {
position: relative;
z-index: 3;
}
button:after,
.form-group:after {
content: '';
position: absolute;
top: -2px;
left: -2px;
bottom: -2px;
right: -2px;
background: linear-gradient(0deg, rgb(255, 174, 0) 0px, rgb(249, 232, 102) 100%);
z-index: -1;
-webkit-animation: animatedgradient 1s ease alternate infinite;
animation: animatedgradient 1s ease alternate infinite;
background-size: 100% 200%;
background-position: 0 100%;
}
@-webkit-keyframes animatedgradient {
100% {
background-position: 0 0;
}
}
@keyframes animatedgradient {
100% {
background-position: 0 0;
}
}
<div>
<img src="https://images.unsplash.com/photo-1610405317849-43e74311fcac?ixid=MXwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHw2fHx8ZW58MHx8fA%3D%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=60" alt="">
</div>
div {
display: block;
width: 200px;
height: 200px;
}
div img {
width: 100%;
height: 100%;
-o-object-fit: cover;
object-fit: cover;
}
margin
на placeholder
никак не влияет, потому что задает внешние отступы!input
(font-size, line-height, padding) или стилизация placeholder
:::-webkit-input-placeholder {
...
}
:-moz-placeholder {
...
}
::-moz-placeholder {
...
}
:-ms-input-placeholder {
...
}
position:relative;
position: absolute;
+ позиционируем с помощью top, right.position:relative;
или position: static;
:first-of-type
*:.footer_header_text:first-of-type {
text-align: left;
}
.footer_header_text:first-of-type * {
text-align: left;
}
:first-child
работает если есть общий родитель, у Вас в разметке его нет, блок один без обертки! flex
flex
flex
float
?!flex
flex
.grid
grid
на замену не придут, но в помощь точно вольются, поэтому их тоже стоит разбирать на будущее! @media screen and (max-width: XXXpx) { ... }
@media screen and (min-width: XXXpx) { ... }
rem, vh, vw, ...
%, vh,vw, vmin
для всего ( ширины,высоты, размера шрифта, отступы, ....)transform: scale(XX);
<div class="box">
<svg><line x1="0" y1="100%" x2="100%" y2="0" stroke-width="1" stroke="#fff"></line></svg>
</div>
.box {
width: 100%;
height: 500px;
position: relative;
}
svg {
width: 100%;
position: absolute;
height: 100%;
left: 0;
}
div {
background: radial-gradient(ellipse at center, #ccc 0%, #ccc 50%, transparent 50%);
background-size: 50px 50px;
background-repeat: repeat-x;
background-position: 0px center;
}
clip-path
:.ribbon {
...
background: #36499A;
-webkit-clip-path: polygon(0% 0%, 100% 0, 75% 50%, 100% 100%, 0 100%, 25% 50%);
clip-path: polygon(0% 0%, 100% 0, 75% 50%, 100% 100%, 0 100%, 25% 50%);
}
svg
в качестве фона.<div class="ribbon">
<div class="bg">
<svg viewBox="0 0 400 200" preserveAspectRatio="none">
<path fill="#36499A" d="M 0,0 400,0 350,100 400,200 0,200 50,100 z"></path>
</svg>
</div>
<div class="inner">
Lorem ipsum dolor sit amet.
</div>
</div>
absolute
:.bg {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
svg {
width: 100%;
height: 100%;
}
body {
font-family: 'PT Sans Caption', sans-serif;
font-size: 11px;
line-height: 120%;
font-weight: normal;
text-decoration: underline;
letter-spacing: 0px;
font-style:normal;
}