Como posso substituir texto por CSS usando um método como este:
.pvw-title img[src*="IKON.img"] { visibility:hidden; }
Ao invés de ( img[src*="IKON.img"]
), preciso usar algo que possa substituir o texto.
Eu tenho que usar [
]
para fazê-lo funcionar.
<div class="pvw-title">Facts</div>
Eu preciso substituir " Fatos ".
Respostas:
Ou talvez você possa agrupar 'Fatos' em volta da
<span>
seguinte forma:Então use:
fonte
Obrigatório : este é um hack: o CSS não é o lugar certo para fazer isso, mas em algumas situações - por exemplo, você tem uma biblioteca de terceiros em um iframe que só pode ser personalizado pelo CSS - esse tipo de hack é a única opção .
Você pode substituir o texto através de CSS. Vamos substituir um botão verde por 'olá' por um botão vermelho que diz 'adeus' , usando CSS.
Antes:
Depois de:
Veja http://jsfiddle.net/ZBj2m/274/ para uma demonstração ao vivo:
Aqui está o nosso botão verde:
Agora vamos ocultar o elemento original, mas adicione outro elemento de bloco depois:
Nota:
visibility
. Notadisplay: none
sobre o elemento original não funciona.fonte
display: none;
não funciona porque::after
realmente significa "dentro deste elemento, mas no final", caso alguém tenha curiosidade.Se você estiver disposto a usar pseudo-elementos e permitir que eles insiram conteúdo, faça o seguinte. Ele não assume o conhecimento do elemento original e não requer marcação adicional.
Exemplo JSFiddle
fonte
<th>
elemento.line-height: 0
ecolor: transparent
no elemento principal e redefinir esses valores na pseudo fazer o trabalho (sem mexertext-indent
)line-height: normal
vez deinitial
?Com base na resposta de mikemaccana , isso funcionou para mim
§ Posicionamento absoluto
fonte
Isso é simples, curto e eficaz. Nenhum HTML adicional é necessário.
Eu tive que fazer isso para substituir o texto do link, que não seja o lar, pelas migalhas de pão do WooCommerce
Sass / Less
CSS
fonte
Você não pode, bem, você pode.
Isso inserirá o conteúdo após o conteúdo atual do elemento. Na verdade, não o substitui, mas você pode escolher uma div vazia e usar CSS para adicionar todo o conteúdo.
Mas enquanto você pode mais ou menos, não deveria. O conteúdo real deve ser colocado no documento. A propriedade content destina-se principalmente a pequenas marcações, como aspas ao redor do texto que devem aparecer entre aspas.
fonte
Tente usar
:before
e:after
. Um insere o texto após a renderização do HTML e o outro insere antes da renderização do HTML. Se você deseja substituir o texto, deixe o conteúdo do botão vazio.Este exemplo define o texto do botão de acordo com o tamanho da largura da tela.
Botão de texto:
Com
:before
big screenxxx
tela grande
Com
:after
tela xxxbig
tela grande
fonte
Se você quiser apenas mostrar textos ou imagens diferentes, mantenha a tag vazia e escreva seu conteúdo em vários atributos de dados como esse
<span data-text1="Hello" data-text2="Bye"></span>
. Exiba-os com uma das pseudo classes:before {content: attr(data-text1)}
Agora você tem várias maneiras diferentes de alternar entre elas. Eu os usei em combinação com consultas de mídia para uma abordagem de design responsivo para alterar os nomes da minha navegação para ícones.
Demonstração e exemplos do jsfiddle
Pode não responder perfeitamente à pergunta, mas satisfez minhas necessidades e talvez outras também.
fonte
Tive mais sorte ao definir o
font-size: 0
elemento externo efont-size
o:after
seletor para o que eu precisasse.fonte
Isso funcionou para mim com texto embutido. Foi testado no Firefox, Safari, Chrome e Opera.
fonte
Eu uso esse truque:
Eu até usei isso para lidar com a internacionalização de páginas, apenas alterando uma classe base ...
fonte
Substituição de texto com pseudoelementos e visibilidade CSS
HTML
CSS
fonte
Usando um pseudo-elemento, esse método não requer conhecimento do elemento original e não requer nenhuma marcação adicional.
fonte
Isso implementa uma caixa de seleção como um botão que mostra Sim ou Não, dependendo do estado 'marcado'. Por isso, demonstra uma maneira de substituir o texto usando CSS sem precisar escrever nenhum código.
Ele ainda se comportará como uma caixa de seleção ao retornar (ou não retornar) um valor POST, mas, do ponto de vista da exibição, parece um botão de alternância.
As cores podem não ser do seu agrado, elas estão lá apenas para ilustrar um ponto.
O HTML é:
... e o CSS é:
Eu só tentei no Firefox, mas é CSS padrão, portanto deve funcionar em outro lugar.
fonte
Ao contrário do que vejo em todas as outras respostas, você não precisa usar pseudo elementos para substituir o conteúdo de uma tag por uma imagem
fonte
content
aplica-se apenas a:before
e:after
. O CSS3 o estende a tudo, mas o módulo Conteúdo Gerado ainda está no status de rascunho, portanto, qualquer uso depende muito do navegador.Isso não é realmente possível sem truques. Aqui está uma maneira que funciona substituindo o texto por uma imagem de texto.
Esse tipo de coisa geralmente é feito com JavaScript. Aqui está como isso pode ser feito com o jQuery:
fonte
Eu tive um problema em que precisei substituir o texto do link, mas não consegui usar JavaScript nem alterei diretamente o texto de um hiperlink, pois ele foi compilado a partir do XML. Além disso, eu não podia usar pseudo-elementos, ou eles não pareciam funcionar quando eu os havia experimentado.
Basicamente, coloquei o texto que eu queria em um espaço e coloquei a âncora embaixo dele e envolvi os dois em uma div. Basicamente, movi a tag de âncora para cima via CSS e tornei a fonte transparente. Agora, quando você passa o mouse sobre o intervalo, ele "age" como um link. Uma maneira realmente hacky de fazer isso, mas é assim que você pode ter um link com texto diferente ...
Este é um pouco de como eu resolvi esse problema
Meu HTML
Meu CSS
O CSS precisará mudar com base em seus requisitos, mas esta é uma maneira geral de fazer o que você está pedindo.
fonte
Encontrei uma solução como essa em que uma palavra "Escura" seria reduzida para apenas "D" em uma largura menor da tela. Basicamente, você apenas faz o tamanho da fonte do conteúdo original 0 e tem a forma abreviada como um pseudo-elemento.
Neste exemplo, a alteração ocorre ao passar o mouse:
fonte
Depois de oito anos, enfrentei o mesmo desafio ao tentar usar o Stylish extensão do navegador para alterar algo em um site (não o meu). E desta vez eu fiz funcionar, analisando o código-fonte usando "elemento de inspeção" e criei o código CSS com base nisso.
Isto é o que parecia antes:
Esta é a mesma parte do HTML e do CSS que usei para modificar o estilo:
Você pode executar o código acima e verá que ele funciona (testado no Chrome).
Isso é simplesmente o que eu queria nos dias em que fiz essa pergunta.
Eu estava usando algum tipo de blog da comunidade / Myspace material semelhante ao e a única coisa que você tinha ao criar seu perfil era o editor de CSS deles, e é por isso que eu queria selecioná-lo com base no estilo.
Encontrei a resposta aqui:
Seletor de CSS avançado - selecione com base no estilo
Seletor CSS por atributo de estilo embutido
fonte
A maneira de fazer isso funcionar é adicionar altura da linha ao conteúdo CSS. Isso fará com que o bloco seja visto acima do oculto, portanto, não ocultará o texto alterado.
Exemplo com o uso anterior :
fonte
Bem, como muitos disseram que isso é um hack. No entanto, eu gostaria de adicionar um hack mais atualizado, que aproveita
flexbox
erem
, por exemplo,flexbox
padding
e / ou usarmargin
o texto explicitamentepx
, o que, para diferentes tamanhos de tela em diferentes dispositivos e navegadores, pode gerar resultados diferentesAqui está a solução, em suma,
flexbox
garante que ela seja automaticamente posicionada perfeitamente erem
seja uma alternativa mais padronizada (e automatizada) para pixels.CodeSandbox com código abaixo e saída na forma de captura de tela, leia
note
abaixo o código!Nota: para tags diferentes das quais você pode precisar de valores diferentes
rem
, essa foi justificada parah1
e somente em telas grandes. No entanto,@media
você pode estender isso facilmente para dispositivos móveis.fonte