jquery - 在语义 ui 中将搜索框居中

标签 jquery html css semantic-ui

我正在尝试将搜索框置于语义用户界面的中心。条形图居中,但搜索结果没有居中。我尝试将 居中对齐 类设置为输入 div,但没有成功 这是我的代码和我的 js fiddle link :

var categoryContent = [{
    category: 'Language',
    title: 'Python'
  },
  {
    category: 'Language',
    title: 'Java'
  },
];

$('.ui.search')
  .search({
    type: 'category',
    source: categoryContent
  });
body {
  background-color: #F2EDF3;
}

.search-bar {
  width: 50%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>

<head>
  <title></title>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.3/semantic.min.css" />
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.3/semantic.min.js"></script>
</head>

<body>
  <div class="ui grid center aligned">
    <div class="sixteen wide column">
      <div class="ui category search ">
        <div class="ui icon input search-bar">
          <input class="prompt" type="text" placeholder="looking for...">
          <i class="search icon"></i>
        </div>
        <div class="results"></div>
      </div>
    </div>
  </div>

</body>

</html>

最佳答案

您的问题是,因为显示结果的元素具有绝对定位的 css 属性。这与 left:0 组合,将始终将元素放在左侧。

重置后(通过将其设置为继承),并使内容居中并带有 margin: 0 auto;所有工作都按预期进行。 Here is an example fiddle

.results.visible{
   margin: 0 auto;
   position: inherit;
}

如果它不起作用,请使用更具识别性的 CSS,这将覆盖任何其他样式。但请注意,如果 html 与呈现的内容或 css 有任何不同,这将不起作用。这取决于“击败”现有规则,该规则通过从同一个父级开始然后对其进行更具体的强制绝对定位(使用 .visible 指代其他类)。

.ui.search > .results.visible {
  position: relative;
  margin: 0 auto;
}

万一不起作用,作为最后的选择,使用 !important,这通常被认为不是一个好的做法(因为它打破了 CSS 规则的正常流程,并且可能在未来的样式设计中引起问题),但以防万一你找不到合适的标识符,这可能会起作用。

.results.visible{
   margin: 0 auto !important;
   position: inherit !important;
}

你可以试试这个 fiddle

关于jquery - 在语义 ui 中将搜索框居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52151487/

相关文章:

c# - MVC 中的动态表单数据

jquery 节的索引()

javascript - 在正确的上下文中执行Onload属性js

python - Flask 未激活功能

javascript - 如何更改我网站的标题颜色?

jquery - 有没有办法将默认的 css 属性应用到 css 文件中定义的 jquery 元素?

javascript - 如何继续向 div 添加元素,直到两个 div 具有相同的高度?

jquery - 通过 AJAX 加载内容和预加载图像?

android - 存储在 XML 下的编码 HTML

javascript - 将光标设置在文本框文本的末尾