Is is possible to display "HEADER FOR OLD DATA" only for the very first row of OLD data and not repeating it for each (in the same way blue border is not repeated)?
Considering (1) has been solved, is it possible (via content:"..."?) to display "no new data" if shadow div contains only <div data-is-new="false">OLD data</div> (see example 2)?
.shadow {
margin-bottom: 50px
}
div[data-is-new='false'] {
color: rgb(199, 199, 199);
background-color: rgba(247, 247, 247, 0.57);
border-top: 2px solid blue;
}
div[data-is-new='false']::before {
display: block;
content: "HEADER FOR **OLD** DATA";
color: black;
}
div[data-is-new='false']~div[data-is-new='false'] {
border-top: none;
}
<p>Example 1</p>
<div class="shadow">
<div class="header">HEADER FOR *NEW* DATA</div>
<div data-is-new="true">new data</div>
<div data-is-new="true">new data</div>
<div data-is-new="true">new data</div>
<div data-is-new="true">new data</div>
<div data-is-new="false">OLD data</div>
<div data-is-new="false">OLD data</div>
<div data-is-new="false">OLD data</div>
</div>
<p>Example 2</p>
<div class="shadow">
<div class="header">HEADER FOR *NEW* DATA</div>
<span>No new data display via CSS with "content"?</span>
<div data-is-new="false">OLD data</div>
<div data-is-new="false">OLD data</div>
<div data-is-new="false">OLD data</div>
</div>
If your structure will always be new data then old data you can try like below: