How to add static text inside an input form
HTML
<label for="subdomain">Subdomain:</label>
<input type="text" placeholder="ExampleDomain" id="subdomain" />
<input type="text" id="subdomaintwo" value=".domain.com" disabled/>
CSS
input[type="text"]#subdomaintwo{
-webkit-appearance: none!important;
color: red;
text-align: right;
width: 75px;
border: 1px solid gray;
border-left: 0px;
margin: 0 0 0 -7px;
background: white;
}
input[type="text"]#subdomain{
-webkit-appearance: none!important;
border: 1px solid gray;
border-right: 0px;
outline: none;
}
JS Fiddle for this
You can achieve this with the following approach:
- place the
<input>
in a<label>
withposition:relative
- give the
<label>
an::after
pseudo-element withposition:absolute
- set
box-sizing
of the<input>
toborder-box
- give the
<input>
apadding-right
equal to the width of the::after
pseudo-element
Working Example:
label, input {
position: relative;
display: block;
padding-right: 76px;
width: 174px;
box-sizing: border-box;
}
label::after {
content: '.' attr(data-domain);
position: absolute;
top: 4px;
left: 96px;
font-family: arial, helvetica, sans-serif;
font-size: 12px;
display: block;
color: rgba(0, 0, 0, 0.6);
font-weight: bold;
}
<label data-domain="domain.com">
<input type="text" placeholder="exampledomain" />
<label>