0

Do CSS rules exist for placing content such as images or text within elements?

eg. say I have a div which can contain some info which is correct and some info which is wrong, can I have rules such as:

.correct {
  img: greenTick.jpg;
  text: "answer is wrong"
}

.wrong {
  img: redX.jpg;
  text: "answer is correct"
}

Is it possible to position them too?

Jonathan Gagne
  • 4,241
  • 5
  • 18
  • 30
vfclists
  • 19,193
  • 21
  • 73
  • 92

2 Answers2

2

You can use pseudo elements (::before and ::after). Set the text using the content attribute, and the image as the background of the pseudo element or the div:

.correct::before {
  padding: 1em;
  background: url(https://picsum.photos/200/100);
  background-size: contain;
  color: white;
  content: "answer is correct"
}

.wrong::before {
  padding: 1em;
  background: url(https://picsum.photos/200/200);
  background-size: contain;
  color: white;
  content: "answer is wrong"
}
<div class="correct"></div>

<br><br>

<div class="wrong"></div>
Ori Drori
  • 183,571
  • 29
  • 224
  • 209
1

CSS background-image attribute would be the one that you need to use instead img. See below an example of how to do it with your both style classes:

.correct {
    background-image: url("greenTick.jpg");
}

.wrong {
    background-image: url("redX.jpg");
}
Jonathan Gagne
  • 4,241
  • 5
  • 18
  • 30
  • is it possible to get the image not just to be a background-image, but set its size and position as well? – vfclists Sep 23 '18 at 14:37