Assinale o símbolo em HTML / XHTML


279

Precisamos exibir um símbolo de marca de seleção (✓ ou ✔) em um aplicativo Web interno e, idealmente, evitamos usar uma imagem.

Tem que trabalhar a partir do IE 6.0.2900 em uma caixa XP, idealmente precisamos que ele seja entre navegadores (IE + versões recentes do FF).

O seguinte exibe caixas, embora defina a codificação do navegador para UTF-8 (o META funciona bem e não é o problema). A fonte padrão é Times New Roman (pode ser um problema, mas experimentar o Lucida Sans Unicode não ajuda e não tenho o Arial Unicode MS nem o Lucida Grande instalado).

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<body>
 &#10003; &#10004;
</body>
</html>

Qualquer ajuda apreciada.


O seguinte funciona no IE 6.0 e IE 7:

<html>
<head>

</head>
<body>
 <span style="font-family: wingdings; font-size: 200%;">&#252;</span>
</body>
</html>

Eu apreciaria se alguém pudesse verificar em FF no Windows. Tenho certeza de que não funcionará em uma caixa que não seja do Windows.


1
Como um símbolo de marca de seleção deve se parecer?
— 31119 John Feminella


2
Sam, por favor, dê uma olhada na pergunta.
— Vlad Gudim 18/03/09

@Totophil, eu sei que ele fala sobre as mesmas entidades, mas também sugere que o servidor envie um cabeçalho HTTP real Tipo de Conteúdo: text / html; charset = utf-8, bem como o problema que a fonte em uso pode não conter glifos para os caracteres usados.
— Sam Hasler

Aqui estão algumas: amp-what.com/#q=check%20mark & # x2713 & # x2714
— ndp

Respostas:


454

Acho que você está usando valores Unicode com menos suporte, que nem sempre têm glifos para todos os pontos de código.
Tente os seguintes caracteres:

  • ☐ ( 0x2610 em hexadecimal Unicode [HTML decimal: &#9744;]): uma caixa de seleção vazia (desmarcada)
  • ☑ ( 0x2611 [HTML decimal: &#9745;]): a versão marcada da caixa de seleção anterior
  • ✓ ( 0x2713 [decimal em HTML: &#10003;])
  • ✔ ( 0x2714 [decimal em HTML: &#10004;])

Edit: Parece haver alguma confusão sobre o primeiro símbolo aqui, ☐ / 0x2610. Esta é uma caixa de seleção vazia (desmarcada); portanto, se você vir uma caixa, é assim que deve parecer. É a contrapartida de ☑ / 0x2611, que é a versão verificada.


1
Configuração corporativa: Win XP Professional + IE 6.0.2900.2180.xpsp_sp2_qfe.070227-2300
— Vlad Gudim

O primeiro é uma caixa para mim, o resto funciona bem. Embora eu usasse uma imagem, apenas para ter certeza.
— mbillard

6
Só para esclarecer, a primeira imagem deve ser uma caixa - é uma caixa de seleção vazia!
— 31119 John Feminella

1
@Totophil: Ah, tudo bem. Estou usando o Ubuntu, e a fonte sans padrão que configurei no FF possui esses glifos. No Windows, basta usar o mapa de caracteres para procurar esses glifos e ver se a fonte desejada os possui. Caso contrário, você precisará escolher um diferente.
— 31119 John Feminella

5
Vazio código da caixa decimal: 0x2610 -> 9744. tão código HTML será semelhante &#9744;mesma forma para caixa marcada: 0x2611 -> 9745 & código HTML&#9745;
— Vikas

272

Primeiro, você deve perceber que não precisa realmente usar entidades HTML - desde que a codificação do seu documento HTML seja declarada corretamente como UTF-8, você pode simplesmente copiar / colar esses símbolos no arquivo / script no servidor / JavaScript / qualquer que seja.

Dito isto, aqui está a lista exaustiva de todos os caracteres UTF-8 / entidades HTML relevantes relacionados a este tópico:

  • Hex (hex: &#x2610;/ dec:): &#9744;urna (vazia, é assim que deve ser)
  • Hex (hex: &#x2611;/ dec:) &#9745;: urnas com cheque
  • Hex (hex: &#x2612;/ dec:) &#9746;: urna com x
  • ✓ (hex: &#x2713;/ dec:): &#10003;marca de seleção, equivalente à &checkmark;e &check;na maioria dos navegadores
  • ✔ (hex: &#x2714;/ dec:): &#10004;marca de seleção pesada
  • Hex (hex: &#x2717;/ dec:) &#10007;: cédula x
  • ✘ (hex: &#x2718;/ dec:): &#10008;cédula pesada x
  • 🗸 (⚠ hex: &#x1F5F8;/ dec &#128504;): marca de seleção leve (pouco suportada em 2017)
  • ✅ (⚠ hex: &#x2705;/ dec :): &#9989;marca de seleção branca pesada (suporte misto a partir de 2017)
  • ⚠ (⚠ hex: &#x1F5F4;/ dec :) &#128500;: script de cédula X (pouco suportado a partir de 2017)
  • ⚠ (⚠ hex: &#x1F5F6;/ dec :) &#128502;: cédula em negrito X (suporte insuficiente a partir de 2017)
  • ⮽ (⚠ hex: &#x2BBD;/ dec :) &#11197;: urna com luz X (pouco suportada em 2017)
  • ⚠ (⚠ hex: &#x1F5F5;/ dec :) &#128501;: urnas com o script X (pouco suportado em 2017)
  • ⚠ (⚠ hex: &#x1F5F9;/ dec :) &#128505;: urnas com cheque em negrito (pouco suporte a partir de 2017)
  • ⚠ (⚠ hex: &#x1F5F7;/ dec :) &#128503;: urna com script em negrito X (pouco suportado em 2017)

Verificando fontes da Web para símbolos de escala? Aqui está uma amostra pronta para usar para as mais comuns: A☐B☑C☒D✓E✔F✗G✘H- basta copiar / colar isso na caixa de texto de amostra do seu provedor de fontes da web e ver quais fontes suportam quais símbolos de marca.


17

A máquina cliente precisa de uma fonte adequada que possua um glifo para que esse caractere seja exibido. Mas o Times New Roman não. Tente Arial Unicode MS ou Lucida Grande :

<span style="font-family: Arial Unicode MS, Lucida Grande">
    &#10003; &#10004;
</span>

Isso funciona para mim no Windows XP no IE 5.5, IE 6.0, FF 3.0.6.


Não possui nenhuma das fontes, apenas o Lucida Sans Unicode que remotamente se parece com a fonte unicode, mas não possui os tiques.
— Vlad Gudim 18/03/09

Em seguida, listar algumas fontes que têm um glifo para este caráter: font-family: Arial Unicode MS, Lucida Sans Unicode, Lucida Grande.
— Gumbo

Gumbo, não funciona. Além disso, não tenho o Arial Unicode MS e o Lucida Grande instalados.
— Vlad Gudim

É o mais perto que você vai chegar, mas infelizmente Lucida Sans Unicode não fornece U + 2713/2714.
— bobince


11

Por que você não usa o elemento da caixa de seleção de entrada HTML no modo somente leitura

<input type="checkbox" disabled="disabled" /> and
<input type="checkbox" checked="checked" disabled="disabled" />

Presumo que isso funcione em todos os navegadores.


6
Não precisamos de um controle, apenas uma indicação de que uma certa opção está disponível dentro de uma matriz. Usar um controle desabilitado estaria errado nesse caso.
— Vlad Gudim

11

Eu me deparo com o mesmo problema e nenhuma das sugestões funcionou (Firefox no Windows XP).

Então, eu encontrei uma possível solução alternativa usando dados de imagem para exibir uma pequena marca de seleção:

span:before {
    content:url("data:image/gif;base64,R0lGODlhCgAKAJEAAAAAAP///////wAAACH5BAEAAAIALAAAAAAKAAoAAAISlG8AeMq5nnsiSlsjzmpzmj0FADs=");
}

Claro que você pode criar sua própria imagem de marca de seleção e usar um conversor para adicioná-la como dados: imagem / gif. Espero que isto ajude.


8

embora defina a codificação do navegador para UTF-8

(Se você estiver usando referências de caracteres numéricos, é claro, não importa qual codificação está sendo usada, os navegadores obterão o ponto de código Unicode correto diretamente do número.)

<span style="font-family: wingdings; font-size: 200%;">&#252;</span>

Eu apreciaria se alguém pudesse verificar em FF no Windows. Tenho certeza de que não funcionará em uma caixa que não seja do Windows.

Me falha no Firefox 3, Opera e Safari. Curiosamente, funciona no outro navegador Webkit, o Chrome. Também falha no Linux (obviamente, como o Wingdings não está instalado lá; está instalado nos Macs, mas isso não ajuda se o Safari não o tiver).

Também é um truque bastante desagradável - esse personagem é para todos os efeitos "ü" e aparecerá assim para coisas como mecanismos de pesquisa ou se o texto for copiado e colado. Os pontos de código Unicode adequados são o caminho a menos, a menos que você realmente não tenha alternativa.

O problema é que nenhuma fonte incluída no Windows fornece U + 2713 CHECK MARK ('✓'). O único que você provavelmente encontrará em uma máquina Windows é o "Arial Unicode MS", do qual não se pode confiar. Então, no final, acho que você terá que:

  • use um caractere diferente que seja melhor suportado (por exemplo, '●' - marcador , conforme usado pelo SO), ou
  • use uma imagem, com '✓' como texto alternativo.

8

Chegando muito tarde à festa, descobri que &check;(✓) funcionava no Opera. Não testei em nenhum outro navegador, mas pode ser útil para algumas pessoas.


4
Vale a pena notar que &check;(e &checkmark;) ambos avaliam &#10003;, qual é o que a resposta principal usa. É uma entidade de caracteres HTML5 e não funcionaria no IE6.
— James Donnelly

5
.className {
   content: '\&#x2713';
}

Usando a propriedade CSS content, você pode mostrar carrapato com uma imagem ou outro código.


Não tenho certeza: w3schools.com/cssref/pr_gen_content.asp mostra comapatibily com firefox
— s-sharma

todomvc.com/labs/architecture-examples/react verifica se está funcionando ou não, pois está usando conteúdo para marcar.
— S-sharma

4
Se você deseja usar códigos utf-8 no conteúdo css, é possível:.class{ content: "\2713"; }
— Morteza Ziyae 8/14

4

√ (símbolo de raiz quadrada, & # 8730;) seria suficiente?

Como alternativa, verifique se você está configurando o Content-Type:cabeçalho antes de enviar dados para o navegador. Apenas especificar a <meta>tag do tipo de conteúdo pode não ser suficiente para incentivar os navegadores a usar o conjunto de caracteres correto.


Obrigado! Raiz quadrada funciona, mas parece um pouco com err ... raiz quadrada? Mas acho que na ausência de alternativas isso provavelmente seria o mais próximo possível.
— Vlad Gudim

1
Btw, especificar a meta tag define UTF-8 muito bem no meu IE, portanto, neste caso, esse não é o problema.
— Vlad Gudim

1
Uma raiz quadrada é uma raiz quadrada e uma marca de seleção é uma marca de seleção. Parece-me como colocar um pictograma de banheiro na porta do vestiário.
— Volker E.

1
@VolkerE. Mas isso seria hilário!
— Dave Newton

3

Solução usando Wingdings que não é baseado em unicode e não funciona no Linux sem o Wingdings instalado.

Crossed Checkbox
<div style="font-family: Wingdings;">û</div> ☒

Checked Checkbox
<div style="font-family: Wingdings;">ü</div> ☑

Cross
<div style="font-family: Wingdings;">ý</div> ✗

Check
<div style="font-family: Wingdings;">þ</div> ✓


0

Você pode adicionar um pouco de branco com um GIF codificado em Base64 ( gerador on-line aqui ):

url("data:image/gif;base64,R0lGODlhCwAKAIABAP////3cnSH5BAEKAAEALAAAAAALAAoAAAIUjH+AC73WHIsw0UCjglraO20PNhYAOw==")

Com o Chrome, por exemplo, eu o uso para estilizar o controle da caixa de seleção:

INPUT[type=checkbox]:focus
{
outline:1px solid rgba(0,0,0,0.2);
}

INPUT[type=checkbox]
{
background-color: #DDD;
border-radius: 2px;
-webkit-appearance: button;
width: 17px;
height: 17px;
margin-top: 1px;
cursor:pointer;
}

INPUT[type=checkbox]:checked
{
background:#409fd6 url("data:image/gif;base64,R0lGODlhCwAKAIABAP////3cnSH5BAEKAAEALAAAAAALAAoAAAIUjH+AC73WHIsw0UCjglraO20PNhYAOw==") 3px 3px no-repeat;
}

Se você apenas quisesse isso em uma tag IMG, faria a marca de seleção / marca de seleção como:

<img alt="" src="data:image/gif;base64,R0lGODlhCwAKAIABAP////3cnSH5BAEKAAEALAAAAAALAAoAAAIUjH+AC73WHIsw0UCjglraO20PNhYAOw==" width="11" height="10">

0

Usando Webding ou Wingding fontes é a única maneira de alcançar o objetivo deste tópico: ele tem que começar a trabalhar com o IE 6.0.2900 . Portanto, eu publicaria alguns aqui, bem como algumas correções postadas acima:

Cross
<span style="font-family: Wingdings;">&#251;</span><br>
    
Check
<span style="font-family: Wingdings;">&#252;</span><br>

Crossed Checkbox
<span style="font-family: Wingdings;">&#253;</span><br>
    
Checked Checkbox
<span style="font-family: Wingdings;">&#254;</span><br>
    
Empty Checkbox
<span style="font-family: Wingdings;">&#168;</span><br>
    
Thick Check
<span style="font-family: Webdings;">&#97;</span>

Referência aqui: wingdings webdings

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.