Escribí este código ayer y noté que el valor del atributo de valor de color de tipo de entrada no funciona con el nombre de color directo. Pero funciona bien con el valor hexadecimal. ¿Por qué?
<! --- Not Working---> <input type="color" value="red"> <! --- Working ---> <input type="color" value="#ff0000">Porque la especificación lo requiere .
El atributo de valor, si se especifica y no está vacío, debe tener un valor que sea un color simple válido.
Una cadena es un color simple válido si tiene exactamente siete caracteres, y el primer carácter es un carácter de SIGNO DE NÚMERO U+0023 (#), y los seis caracteres restantes son todos dígitos hexadecimales ASCII, con los dos primeros dígitos representando el rojo. componente, los dos dígitos centrales representan el componente verde y los dos últimos dígitos representan el componente azul, en hexadecimal.
<input type="color" value="red"> //Incorrect format value="red" <input type="color" value="#ff0000"> //Correct format value="#ff0000"El valor debe estar en notación hexadecimal de siete caracteres, es decir, el carácter "#" seguido de dos dígitos, cada uno de los cuales representa el rojo, el verde y el azul, así: #rrggbb . Si tiene colores que están en cualquier otro formato (como nombres de color CSS o funciones de color CSS como rgb() o rgba() ), deberá convertirlos a hexadecimal antes de establecer el valor.