Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置带有左右面板的HTML页面_Javascript_Css_Html - Fatal编程技术网

Javascript 设置带有左右面板的HTML页面

Javascript 设置带有左右面板的HTML页面,javascript,css,html,Javascript,Css,Html,如何设置包含两个内容面的HTML页面?没有 例如: 左侧应该是导航菜单。 右边应该是页面的内容 示例菜单: <div id="page"> <div id="menuleftcontent"> <ul id="menu"> <li> <a href="showfirstcontent">first</a></li> <li><

如何设置包含两个内容面的HTML页面?没有

例如:

左侧应该是导航菜单。 右边应该是页面的内容

示例菜单:

<div id="page">
    <div id="menuleftcontent">
        <ul id="menu">
            <li> <a href="showfirstcontent">first</a></li>
            <li><a href="showsecondcontent">second</a></li>
        </ul>
    </div>
    <div id="maincontent">
        <div id="firstcontent">first</div>
        <div id="secondcontent">second</div>
    </div>
</div>

第一 第二
左侧的菜单应该是固定内容,右侧的内容应该是可更改的

我画了一幅草图:


提前感谢

你能做的最好的事情就是做两个div。一个带有
float:left
,给它一个固定的宽度,然后创建另一个带有
边距left
,与菜单宽度相同的

CSS:

HTML:


这是您的菜单
这是你的主要内容
工作示例:

Fiddle URL:

如果您询问如何在没有框架的情况下垂直拆分页面。有一个答案给你


如果您正在寻找解决方案,使每个页面的左侧都有固定内容。然后,您可以在后端web框架中查找称为页面模板或母版页的内容。

只需对html应用一些css,如下所示:

#page{
    width: 1280px;
    display: inline;
}

#menuleftcontent{
    float: left;
    width: 420px;
}

#maincontent{
    float: left;
    width: 960px;    
}

宽度(例如;)

以下是如何实现内容拆分的示例。虽然,实际上有很多方法可以做到这一点:)


您可以在html中使用下面的css以左右框架结构显示它

    #menuleftcontent
    {
        width: 30%;
        float: left;
    }

    #maincontent
   {
        width: 70%;
        float: left;    
    }

   #page
   {
        width : 100%;
        clear : both;
    }

下面是一个CSS示例,用于设置HTML的样式:

  <style>
       .page{width:100%; min-height:900px;}
       .menuleftcontent{min-width:20%;float:left;height:900px;border:dotted 1px red;}
       .maincontent{min-width:78%;float:left;height:900px;border:dotted 1px blue;}
    </style>



<div id="page" class="page">   
    <div id="menuleftcontent" class="menuleftcontent">
        <ul id="menu">
                       <li><a href="showfirstcontent" </a>first</li>
                        <li><a href="showsecondcontent" >second</a></li>

        </ul> 
    </div> 
    <div id="maincontent" class="maincontent">   
         <div id="firstcontent" >first</div>

         <div id="secondcontent">second</div>
    </div> 
</div>

.页面{宽度:100%;最小高度:900px;}
.menuleftcontent{最小宽度:20%;浮点:左侧;高度:900px;边框:带点的1px红色;}
.maincontent{最小宽度:78%;浮动:左侧;高度:900px;边框:点蓝色1px;}
第一 第二
重新排列代码,以便(i)主要内容以HTML源代码顺序显示在侧栏之前(ii)添加清除div(iii)更改菜单链接的
href
属性:


第一内容
第二内容
然后使用以下CSS:

#第页{
左边距:200px;
}
#主要内容{
浮动:对;
宽度:100%;
背景色:#f0;
}
#菜单内容{
浮动:左;
宽度:200px;
左边距:-200px;
背景色:#中交;
}
#清除div{
明确:两者皆有;
}
对于问题中不清楚的部分,需要使用JavaScript显示/隐藏div。虽然可以使用vanilla JavaScript,但jQuery库使其更容易:

$(函数(){
$(“#maincontent>div:gt(0)”).hide();
$(“#菜单a”)。在(“单击”上,功能(e){
var href=$(this.attr(“href”);
$(“#maincontent>”+href).show();
$(“#maincontent>:not(“+href+”).hide();
});
});

+1尽管是手绘图片。您的html是正确的,现在您只需应用CSS,至少您可以阅读A列表中的文章“”?它不起作用了吗,它是如何失败的,你在实现它时遇到了什么问题?为了拥有一个动态内容,我已经在这里留下了一个解释:类似这样的东西可能是:你可以使用%而不是px来拥有一个可扩展的样式:)剩余的边距!!!这是个坏方法。如果你使用它,你就不能有一个可扩展的样式。请解释为什么
左边距
是一个不好的方式。为了更好的实践,你应该有一个相对长度的灵活布局。这有助于在智能手机和平板电脑领域获得最佳预览。这是一种值得商榷的做法。但是在非常小的屏幕上使用百分比可能无法读取或被破坏(
溢出
不是通配符),这就是为什么很多框架不使用百分比,而是根据屏幕尺寸设置像素的原因。好吧,但问题是两个内容同时出现。如何设置,例如在页面加载时,第一个内容出现,当我单击第二个菜单按钮时,第二个内容出现,而旧内容(第一个内容)消失。完美!那工作很棒。如果你现在能告诉我你的例子是如何工作的,在例子中我点击“报告”,一个新的空白页面出现,那么你是我的一天!!!Bootstrap需要jQuery,所以上面的代码应该按原样工作(我不太确定你在问什么)。。。看起来不错。左边是菜单,右边是内容。当我点击“reports”时,右边应该出现在示例“hello”中,当我点击“overview”时,右边应该出现“byebye”。。。。我怎么能意识到这一点?
#page {
    width: 100%;
}

#menuleftcontent {
    float: left;
    width: 25%;
}

#maincontent {
    float: left;
    width: 75%;
}
    #menuleftcontent
    {
        width: 30%;
        float: left;
    }

    #maincontent
   {
        width: 70%;
        float: left;    
    }

   #page
   {
        width : 100%;
        clear : both;
    }
  <style>
       .page{width:100%; min-height:900px;}
       .menuleftcontent{min-width:20%;float:left;height:900px;border:dotted 1px red;}
       .maincontent{min-width:78%;float:left;height:900px;border:dotted 1px blue;}
    </style>



<div id="page" class="page">   
    <div id="menuleftcontent" class="menuleftcontent">
        <ul id="menu">
                       <li><a href="showfirstcontent" </a>first</li>
                        <li><a href="showsecondcontent" >second</a></li>

        </ul> 
    </div> 
    <div id="maincontent" class="maincontent">   
         <div id="firstcontent" >first</div>

         <div id="secondcontent">second</div>
    </div> 
</div>