html - 满足媒体查询时将文本更改为图标

标签 html css

我正在制作一个网站,当分辨率达到 640 像素或更低时,文本会变为图标。我想知道是否有一种方法可以使用 CSS 实现它,或者这是否更复杂并且应该使用 JQuery 或类似的东西?

这是我想做的事情的直观表示:

在满足媒体查询之前: http://4.ii.gl/mkcrfiLzq.png

媒体查询后: http://1.ii.gl/yed0kk0t6.png

任何帮助将不胜感激,最巧妙的解决方案将得到答案。

<div>
    <nav>
        <ul>
            <li><a><img src="images/LOGO.svg" height="44px" alt="Sandwich Express"/></a></li>
            <li><a href="index.html">Home<a></li>
            <li><a href="whatwedo.html">What We Do<a></li>
            <li><a href="oursandwiches">Our Sandwiches<a></li>
            <li><a href="contactus">Contact Us<a></li>
        </ul>
    </nav>
</div>

这是我要更改的横幅的 HTML,与之配对的 CSS 是:

 nav ul li a {
     display: block;
     margin-left: -40px;
     font-size: 20px;
     line-height: 44px;
     font-family: "Josefin Sans";
     text-align: center;
     text-decoration: none;
     color: white;
     padding: 0 20px 0 20px;
     background-color: black;
     -o-transition: .5s;
     -ms-transition: .5s;
     -moz-transition: .5s;
     -webkit-transition: .5s;
     transition: .5s;
}
 nav ul li a:hover {
     color: #CFCFCF;
}

我会发布任何其他需要的代码。

最佳答案

像这样尝试:

HTML

<div>
    <span class="text">text</span>
    <span class="icon"><img src="" /></span>
</div>

CSS

@media (min-width: 641px) {
    span.icon {display:none}
    span.text {display:inline-block}
}

@media (max-width: 640px) {
    span.icon {display:inline-block}
    span.text {display:none}
}

编辑(编码示例)

看看这个工作示例 CodePen

关于html - 满足媒体查询时将文本更改为图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27130316/

相关文章:

javascript - 在模态中创建数据表

jquery - 从可动画属性的 CSS 中排除图像

html - 这是什么意思 : data-component-bound ="true"?

html - z-index 较高的 div 出现在 z-index 较低的 div 后面

javascript - CSS 下拉菜单宽度问题和透明层问题

html - 调整 A4 大小的 html 页面

html - 如何在HTML5文本的Div中添加淡出效果

html - 如何删除 <div> 标签上方的空间?

css - polymer - 单击时禁用灰色背景

css - 使用 CSS 自定义滚动条