I'm trying to mark required (and empty inputs) like this
input:required {
  border: 1px solid green;
}
input[value=""]:required {
  border: 1px solid red;
}<input type="text" value="" required>
<input type="text" value="Not empty" required>It seems to work, but once you set a value to the input, it still marked
 
    