顶部导航栏与主要内容重叠
Top navbar overlaps with main content
我正在将目标网页从 Bootstrap 转换为语义-UI。该页面有一个位置固定的顶部导航栏。主要内容分为两列(3 列和 9 列)。左栏用于显示侧边栏,右栏用于显示当前内容。
我试着复制粘贴Semantic-UI的演示页面。导航栏高 45 像素。我注意到主要内容的前 45px 重叠了。
<link href="//semantic-ui.com/dist/semantic.min.css" rel="stylesheet"/>
<script src="//semantic-ui.com/dist/semantic.min.js"></script>
<div id="navbar" class="ui fixed inverted main menu">
<div class="container">
<div class="title item">
<b>Dashboard</b>
</div>
</div>
</div>
<div id="maincontent" class="ui bottom attached segment pushable">
<div id="sidebar" class="ui visible left vertical sidebar menu">
<a class="item">First Item</a>
<a class="item">Second Item</a>
<a class="item">Third Item</a>
<a class="item">Fourth Item</a>
<a class="item">Fifth Item</a>
</div>
<div id="content" class="pusher">
<div class="ui basic segment">
<h3 class="ui header">Application Content</h3>
<p>First paragraph...</p>
<p>Second paragraph...</p>
<p>Third paragraph...</p>
</div>
</div>
</div>
我目前的解决方法是在导航栏后添加一个 45px 高的占位符。
<div style="height:45px"></div>
我很确定有一些好的 css 样式名称可以修复内容重叠。
您可以为内容设置高度 div,然后设置 overflow:scroll。这样,任何长内容都将在 div 中滚动,并且不会向上移动页面和导航栏下方。
您必须将页面内容包裹在网格中 class:
<link href="//semantic-ui.com/dist/semantic.min.css" rel="stylesheet"/>
<script src="//semantic-ui.com/dist/semantic.min.js"></script>
<div id="navbar" class="ui fixed inverted main menu">
<div class="container">
<div class="title item">
<b>Dashboard</b>
</div>
</div>
</div>
<div class="ui grid">
<div class="row">
<div class="column">
<div id="maincontent" class="ui bottom attached segment pushable">
<div id="sidebar" class="ui visible left vertical sidebar menu">
<a class="item">First Item</a>
<a class="item">Second Item</a>
<a class="item">Third Item</a>
<a class="item">Fourth Item</a>
<a class="item">Fifth Item</a>
</div>
<div id="content" class="pusher">
<div class="ui basic segment">
<h3 class="ui header">Application Content</h3>
<p>First paragraph...</p>
<p>Second paragraph...</p>
<p>Third paragraph...</p>
</div>
</div>
</div>
</div>
</div>
</div>
解决方案要简单得多。您只需要在主容器中添加填充:
<div id="navbar" class="ui fixed inverted main menu">
<!-- header content here -->
</div>
<div id="content" class="ui container">
<!-- main content here -->
</div>
并在您的 CSS 中添加:
.ui#content{
// padding should be the same as header height
padding-top: 55px;
}
我正在将目标网页从 Bootstrap 转换为语义-UI。该页面有一个位置固定的顶部导航栏。主要内容分为两列(3 列和 9 列)。左栏用于显示侧边栏,右栏用于显示当前内容。
我试着复制粘贴Semantic-UI的演示页面。导航栏高 45 像素。我注意到主要内容的前 45px 重叠了。
<link href="//semantic-ui.com/dist/semantic.min.css" rel="stylesheet"/>
<script src="//semantic-ui.com/dist/semantic.min.js"></script>
<div id="navbar" class="ui fixed inverted main menu">
<div class="container">
<div class="title item">
<b>Dashboard</b>
</div>
</div>
</div>
<div id="maincontent" class="ui bottom attached segment pushable">
<div id="sidebar" class="ui visible left vertical sidebar menu">
<a class="item">First Item</a>
<a class="item">Second Item</a>
<a class="item">Third Item</a>
<a class="item">Fourth Item</a>
<a class="item">Fifth Item</a>
</div>
<div id="content" class="pusher">
<div class="ui basic segment">
<h3 class="ui header">Application Content</h3>
<p>First paragraph...</p>
<p>Second paragraph...</p>
<p>Third paragraph...</p>
</div>
</div>
</div>
我目前的解决方法是在导航栏后添加一个 45px 高的占位符。
<div style="height:45px"></div>
我很确定有一些好的 css 样式名称可以修复内容重叠。
您可以为内容设置高度 div,然后设置 overflow:scroll。这样,任何长内容都将在 div 中滚动,并且不会向上移动页面和导航栏下方。
您必须将页面内容包裹在网格中 class:
<link href="//semantic-ui.com/dist/semantic.min.css" rel="stylesheet"/>
<script src="//semantic-ui.com/dist/semantic.min.js"></script>
<div id="navbar" class="ui fixed inverted main menu">
<div class="container">
<div class="title item">
<b>Dashboard</b>
</div>
</div>
</div>
<div class="ui grid">
<div class="row">
<div class="column">
<div id="maincontent" class="ui bottom attached segment pushable">
<div id="sidebar" class="ui visible left vertical sidebar menu">
<a class="item">First Item</a>
<a class="item">Second Item</a>
<a class="item">Third Item</a>
<a class="item">Fourth Item</a>
<a class="item">Fifth Item</a>
</div>
<div id="content" class="pusher">
<div class="ui basic segment">
<h3 class="ui header">Application Content</h3>
<p>First paragraph...</p>
<p>Second paragraph...</p>
<p>Third paragraph...</p>
</div>
</div>
</div>
</div>
</div>
</div>
解决方案要简单得多。您只需要在主容器中添加填充:
<div id="navbar" class="ui fixed inverted main menu">
<!-- header content here -->
</div>
<div id="content" class="ui container">
<!-- main content here -->
</div>
并在您的 CSS 中添加:
.ui#content{
// padding should be the same as header height
padding-top: 55px;
}