2015-08-05 3 views
0

Итак, слово International например.отображение одного слова в <span> как другое слово с использованием css

Я хотел бы сделать что-то подобное для мобильных телефонов, например:

<span class="word-international">International</span> 

, а затем стиль следующим образом для мобильного телефона:

.word-international{ 
    content:"Int'l"; 
} 

по очевидным космическим причинам (и причины SEO) , Это не работает, но я, кажется, помню, что есть какой-то способ сделать это, я просто не могу вспомнить конкретный тег или атрибут HTML в теге, что-то вроде <abbr> - спасибо!

+0

Вы можете использовать , но я не думаю, что это именно то, что вы ищете. Это было бы примерно так: ' Int'l' – Zsw

+0

попробуйте оставить пул пустым ... используйте ранее с содержимым: «международный», который можно изменить на мобильном устройстве : "Int'l". – Gho

ответ

0

Свойство содержимого Css работает только на: before,: после псевдо элементов, оно не работает с прямыми элементами. Таким образом, вы могли бы сделать что-то вроде этого

HTML

<span class="test"> 
    <span>Hello</span> 
</span> 

CSS

@media only screen and (max-width: 767px) { 
    .test span { 
     display:none; 
    } 
    .test:after { 
    content: "Test"; 
    } 
} 

Если вы используете мобильный первый подход, то изменить CSS соответственно, надеюсь, что это помогает

0

If вам действительно нужно физически изменять содержимое в одном элементе, я могу думать об одном способе сделать это. Вы должны создать pseudoelement для мобильных устройств

@media (max-width:720px) { 
    .word-international::before { 
     content:"Int'l"; 
     font-size:12px; 
    } 
    .word-international { 
     font-size:0px; //hide text only. if you hide whole element the pseudoelement won't be visible as well. 
    } 
} 

Но я предлагаю использовать некоторые JS, чтобы изменить содержание элемента или даже лучше иметь два элемента с классами mobile и desktop и использовать медиа-запросы, чтобы показать/скрыть их

@media (max-width:720px) { 
    .word-international.mobile { 
     display: block; 
    } 
    .word-international.desktop { 
     display: none; 
    } 
} 
@media (min-width:721px) { 
    .word-international.desktop { 
     display: block; 
    } 
    .word-international.mobile { 
     display: none; 
    } 
} 

Как обычно это делается.

+0

есть недостатки для каждого метода (оба гениального BTW). Первый заставляет шрифт быть тем, что не масштабируется до окружающего размера шрифта, а второй заставляет меня писать встроенный текст, который не является истинным t 1 да y' для реальной речи (я сделал пример в этом предложение). –

+0

Почему именно вы беспокоитесь об обращении к реальной речи? Если речь идет о доступности для слепых экранных читателей, вы можете ввести другой медиа-запрос для этого ('@media speech') и скрыть элементы, которые вы не хотите читать там. Вот список других медиа-типов, которые вы можете найти полезными - [link] (http://www.w3.org/TR/CSS2/media.html#media-types). – kacper3w