css - 响应式 CSS 导航行为异常

标签 css responsive-design wordpress-theming media-queries

一段时间以来,我一直在为我的 wordpress 网站开发响应式主题。我正在使用媒体查询来确定屏幕尺寸并相应地调整我的布局。我现在面临的问题是在标题中。一切都按预期工作,直到屏幕在 638 像素宽和 1023 像素宽之间......那时导航意外地弹出到屏幕的一侧(它应该居中)。奇怪的是我没有 638-1023 的媒体查询。下面是基本代码,但您可以在我的网站 (digitalbrent.com) 上看到所有代码。如果有人能告诉我为什么会这样(我已经在多个设备上尝试过,所以我知道这不仅仅是我的屏幕),我将非常感激。我不太确定是什么原因导致导航栏像那样弹出,但我需要修复它。

CSS:

/******************************** Medium Screen Styles */

@media screen and (min-width: 481px) and (max-width: 1023px){

    #titleBox {
        margin-top: 38px;
        width: 45%;
        margin-left: 5%;
    }

    #siteTitle {
        margin-top: 4px;
        font-size: 28px;
        width: 130px;
    }

    #tagline{
        color:#FFFFFF;
        font-family: georgia bold italic, serif bold italic;
        font-size: 18px;
        width: 210px;
        text-align: center;
        margin-left: 0px;
        margin-top: 5px;
    }

    #ctaBox{
        margin-top: 42px;
        width: 45%;
        margin-right: 5%;
    }

    #cta {
        color: #27f231;
        font-family: georgia bold italic, serif bold italic;
        font-size: 18px;
        float: left;
        position: absolute;
        top: 10px;
        left: 50%;
        width: 224px;
        margin-left: -112px;
        margin-bottom: 20px;
        font-size: 18px;
    }

    #phone{
        color: white;
        font-size: 20px;
        font-family: ariel, sans-serif;
        padding: 16px 0;
    }

    #headButton{
        margin: 0 auto;
        width: 70%;
        max-width: 322px;
        text-align: center;
    }

    #nav {
        float: left;
        margin-top: 10px;
        margin-bottom: 12px;
        width: 300px;
        left: 50%;
        margin-left: -150px;
    }

    #nav ul li{
        font-size: 10px;
        display: inline-block;
        list-style: none;
        text-align: center;
        font-family: georgia bold italic, serif bold italic;
        color: white;
        margin-right: 10px;
    }

    #nav ul li:last-child{
        margin-right: 0px;
    }

HTML:

<div id="header">
                <div id="titleBox">
                        <img id="logo" height="70" width="70" src="wp-content/themes/TesterThemeX/images/web-design.jpg" alt="Web Designer Logo - Brent Blackwood" />
                        <h1 id="siteTitle">Brent Blackwood</h1>
                        <h2 id="tagline">Web & Graphic Design</h2>
                </div>
                <div id="ctaBox">
                    <span id="cta">Call Today for a FREE Quote!</span>
                    <h2 id="phone">(801) 4-PRO-WEB</h2>
                    <div id="headButton" class="ctaButton">&nbsp;The CTA Button!&nbsp;</div>
                </div>
                <div id="nav" class="navScroll">
                    <ul>
                        <li id="home">
                            <div class="navIcon"></div>
                            Home
                        </li>
                        <li id="blog">
                            <div class="navIcon"></div>
                            Blog
                        </li>
                        <li id="resume">
                            <div class="navIcon"></div>
                            Resume
                        </li>
                        <li id="portfolio">
                            <div class="navIcon"></div>
                            Portfolio
                        </li>
                        <li id="lab">
                            <div class="navIcon"></div>
                            &nbsp;Lab&nbsp;
                        </li>
                        <li id="contact">
                            <div class="navIcon"></div>
                            Contact
                        </li>
                    </ul>
                </div>
                <div class="clean"></div>
            </div>

最佳答案

如果 #nav 应该居中,那么您需要:

  • float: left 替换为 float: none(因为您要在全局范围内为 #nav 赋予该值)。
  • margin-left: -150px 替换为 (从您的 CSS 中借用顶部/底部值) margin: 10px auto 12px

关于css - 响应式 CSS 导航行为异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18985380/

相关文章:

css - 关于click事件的csstransition效果

html - 当文本变短时,不应用文本和图像的左右浮动

wordpress - 禁用自定义标题图像上的纵横比裁剪

jquery - 更改文本 jquery 的颜色(一次只有一个 div)

html - Bootstrap - 制作响应式全宽模板,非响应式

html - 在移动 View 中使用 css 显示隐藏的 div

html - CSS 可以是动态的并识别另一个 div 的大小吗?

Wordpress - 图像 ID 的自定义字段数组

jQuery 垂直对齐动画

css - 以 Logo 为中心的响应式导航菜单