HR with Centered Text
This HTML/CSS snippet creates an HR element with text in the middle of the line. The text is supplied in the data-*
attribute of the HR element.
<!-- Credit: @scottzirkel -->
<div class="container">
<p>You can divide with any text you like.</p>
<p>For instance this...</p>
<hr class="hr-text" data-content="AND" />
<p>...this...</p>
<hr class="hr-text" data-content="OR" />
<p>...even this!</p>
</div>
The CSS file:
body {
text-align: center;
background: #fcfcfa;
color: #818078;
font-family: Futura, sans-serif;
}
.container {
max-width: 50%;
margin: 40px auto;
}
.hr-text {
line-height: 1em;
position: relative;
outline: 0;
border: 0;
color: black;
text-align: center;
height: 1.5em;
opacity: 0.5;
&:before {
content: '';
// use the linear-gradient for the fading effect
// use a solid background color for a solid bar
background: linear-gradient(to right, transparent, #818078, transparent);
position: absolute;
left: 0;
top: 50%;
width: 100%;
height: 1px;
}
&:after {
content: attr(data-content);
position: relative;
display: inline-block;
color: black;
padding: 0 0.5em;
line-height: 1.5em;
// this is really the only tricky part, you need to specify the background color of the container element...
color: #818078;
background-color: #fcfcfa;
}
}
Amit Agarwal
Google Developer Expert, Google Cloud Champion
Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.
Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory