通过CSS代码隐藏元素

时间:2014-11-09 17:50:50

标签: css wordpress mobile

我不知道css,在移动版本中通过我自己托管的wordpress网站主题显示菜单似乎很难。我们的想法是使用以下代码:

#sidebar-primary { display: none; }

虽然我添加它时似乎没有任何反应。有没有办法隐藏这个元素?以下是移动版本存在时的整个代码。感谢

@media only screen and (max-width: 767px) {
    .wrap { max-width: 300px; }
    #branding {
        float: left;
        width: 100%;
        position: relative;
    }
    #sidebar-header {
        width: 100%;
        margin-bottom: 10px;
    }
    .featured-wrapper, .aside, .content-wrap, #content, #sidebar-subsidiary .widget, #respond { width: 100%; }
    .featured-post h2.entry-title a { 
        font-size: 12px; 
        line-height: 1.4em; 
        padding-right: 15px;
        bottom: 87px;
    }
    .featured-post .byline { 
        bottom: 63px;
        padding: .25em 15px .25em 1.3em;
    }
    .home.singular .byline { font-size: 10px; }
    .menu-toggle { 
        display: block; 
        width: 100%;
    }
    #menu-primary {
        float: left;
        clear: both;
        width: 100%;
        margin-top: 10px;
    }
    #menu-primary .menu, .menu ul { 
        float: left;
        width: 100%; 
    }
    #menu-primary ul li {
        clear: left;
        display: block;
        padding-left: 0;
        background: none;
    }
    #menu-primary ul li a {
        font-size: 20px; 
        margin-left: 0;
        padding: 12px 15px;
    }
    #menu-primary li li a { font-size: 18px; }
    #menu-primary li ul, #menu-primary li li { border: none !important; }
    #menu-primary li li a:hover { background: none; }
    #menu-primary ul li ul {    
        display: block !important;
        float: left !important;
        visibility: visible !important;
    }
    #menu-primary li ul {
        display: block !important;
        position: relative !important;
        top: 0;
        left: 30px;
    }   
    #menu-primary ul li li ul { left: 30px !important; }
    #menu-primary li:hover ul, #menu-primary li.sfHover ul {
        display: block !important;
        top: 0 !important;
    }
    #menu-primary li:first-child ul { left: 0; }    
    #menu-primary .sf-sub-indicator { background: none !important; }


    #menu-secondary .sf-sub-indicator { background: none !important; }
    .hentry {
        width: 100%;
        margin-right: 0;
    }
    .page-template-front .hentry:hover .read-more, .archive .hentry:hover .read-more, .search .hentry:hover .read-more { display: none; }
    .page-template-front .hfeed-more .hentry {
        float: left;
        width: 100%;
        margin-right: 0;
    }
    .comment-list li li { padding-left: 0; }
    #sidebar-primary, #sidebar-secondary, #sidebar-subsidiary {
        width: 100%;
        clear: left;
    }
    #footer-content, #menu-subsidiary {
        width: 100%;
        margin-bottom: 20px;
    }
    #menu-subsidiary .menu { float: left; }
    #menu-subsidiary li {
        background: none;
        float: none;
        padding-left: 0;
        margin-bottom: .4em;
    }
    #menu-subsidiary li a {
        font-size: 10px;
        line-height: 2.5em; 
    }

    textarea { width: 96%; }
}

4 个答案:

答案 0 :(得分:0)

您是否尝试将!important添加到您的风格中?

#sidebar-primary { display: none; !important}

答案 1 :(得分:0)

你确定你没有错过任何其他

@media only screen and (max-width: xyz px) 

可能是

@media only screen and (max-width: 767px) 

风格没有调用。

如果存在于css中,请检查其他@media标记。

答案 2 :(得分:0)

强制元素不显示的正确方法是使用下面的css:

#sidebar-primary { display: none !important;}
<重要

之后的分号

即使将显示设置为none,在检查dom元素时仍会显示。要完全删除它,您需要在文档就绪时使用jquery或javascript触发器来删除元素。

$(document).ready(function(){

  if($(window).width() < 767){

$('#sidebar-primary').remove();


}

})

希望这有帮助

答案 3 :(得分:0)

如果它不起作用,那么看起来移动设备的样式在不同的@media查询中定义

大多数max-width : 320px @media查询用于移动设备

对于移动设备max-width : 320px,只需检查它是否存在并在该查询中添加样式

@media only screen 
and (max-width : 320px) {
    /* Styles */
}

可以找到有关@media查询的更多信息herehere