问题描述
我是新手,我正在尝试为zendesk帮助门户创建导航栏。 Zendesk使用他们自己的模板语言称为Handlebars。 Handlebars是一个简单的模板引擎,可让您在渲染时而不是设计时插入或操作页面上的内容(如果您熟悉,则非常类似于Mustache)。
尽管此导航栏中的所有元素都向右对齐,但我只希望搜索栏向左<div class="search-container">
对齐。是否有一个引导程序类,可以让我在此搜索容器的徽标旁边“向左浮动”,同时使其他所有内容保持不变并保持响应?
<nav class="navbar navbar-expand-lg navbar-light">
<div class="logo">
{{#link 'help_center'}}
<img src="{{settings.logo}}" alt="{{t 'home_page' name=help_center.name}}">
{{/link}}
</div>
<button type="button" class="navbar-toggler second-button" data-toggle="collapse" data-target="#navbarCollapse"
aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<div class="animated-icon2"><span></span><span></span><span></span><span></span></div>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<div class="navbar-nav ml-auto">
<div class="search-container">
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" focusable="false" viewBox="0 0 12 12"
class="search-icon">
<circle cx="4.5" cy="4.5" r="4" fill="none" stroke="currentColor" />
<path stroke="currentColor" stroke-linecap="round" d="M11 11L7.5 7.5" />
</svg>
{{search scoped=settings.scoped_kb_search submit=false}}
</div>
<a href="https://" class="nav-item nav-link">Help Portal</a>
{{#if alternative_locales}}
<div class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">{{current_locale.name}}</a>
<div class="dropdown-menu">
{{#each alternative_locales}}
<a href="{{url}}" class="dropdown-item" dir="{{direction}}" rel="nofollow"
role="menuitem">{{name}}</a>{{/each}}
</div>
</div>{{/if}}
{{#if signed_in}}
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{user_avatar class="user-avatar"}}
{{user_name}}
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a href="#" class="dropdown-item">{{link "my_activities" role="menuitem"}}</a>
<a href="#" class="dropdown-item">{{my_profile role="menuitem"}}</a>
<a href="#" class="dropdown-item password-item">{{change_password role="menuitem"}}</a>
<a href="#" class="dropdown-item">{{link "sign_out" role="menuitem"}}</a>
</div>
</div>
{{else}}
<div class="sign-in-div">
{{#link "sign_in" class="sign-in"}}
{{t 'sign_in'}}
{{/link}}
</div>
{{/if}}
</div>
</div>
</nav>
</div> ```
解决方法
您必须将<div class="search-container">
移到<div class="navbar-nav ml-auto">
之外,因为ml-auto
将迫使导航栏元素在右侧对齐。在此处详细了解navbar-nav
的行为:https://getbootstrap.com/docs/4.5/components/navbar/#supported-content
对于导航栏,将这个元素放在<div class="collapse navbar-collapse" id="navbarCollapse">
中似乎就足够了。
之后,您的代码应如下所示:
<nav class="navbar navbar-expand-lg navbar-light">
<div class="logo">
{{#link 'help_center'}}
<img src="{{settings.logo}}" alt="{{t 'home_page' name=help_center.name}}">
{{/link}}
</div>
<button type="button" class="navbar-toggler second-button" data-toggle="collapse" data-target="#navbarCollapse"
aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<div class="animated-icon2"><span></span><span></span><span></span><span></span></div>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<div class="search-container">
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" focusable="false" viewBox="0 0 12 12"
class="search-icon">
<circle cx="4.5" cy="4.5" r="4" fill="none" stroke="currentColor" />
<path stroke="currentColor" stroke-linecap="round" d="M11 11L7.5 7.5" />
</svg>
{{search scoped=settings.scoped_kb_search submit=false}}
</div>
<div class="navbar-nav ml-auto">
<a href="https://" class="nav-item nav-link">Help Portal</a>
{{#if alternative_locales}}
<div class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">{{current_locale.name}}</a>
<div class="dropdown-menu">
{{#each alternative_locales}}
<a href="{{url}}" class="dropdown-item" dir="{{direction}}" rel="nofollow"
role="menuitem">{{name}}</a>{{/each}}
</div>
</div>{{/if}}
{{#if signed_in}}
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{user_avatar class="user-avatar"}}
{{user_name}}
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a href="#" class="dropdown-item">{{link "my_activities" role="menuitem"}}</a>
<a href="#" class="dropdown-item">{{my_profile role="menuitem"}}</a>
<a href="#" class="dropdown-item password-item">{{change_password role="menuitem"}}</a>
<a href="#" class="dropdown-item">{{link "sign_out" role="menuitem"}}</a>
</div>
</div>
{{else}}
<div class="sign-in-div">
{{#link "sign_in" class="sign-in"}}
{{t 'sign_in'}}
{{/link}}
</div>
{{/if}}
</div>
</div>
</nav>
我还创建了一个running fiddle来可视化解决方案:
显示导航栏仍然有效:
祝你好运!