html - 如何在不改变边框高度的情况下使文本居中

标签 html css flexbox height border

body {
  background-color: #660033;
  padding: 0;
  margin: 0;
}

nav {
  background-color: #FFF033;
  height: 100px;
  display: flex;
}

ul {
  margin: auto;
  display: flex;
  margin: 0px;
  padding: 0px;
  list-style-type: none;
  width: 100%;
}

ul>li {
  height: 100%;
  margin: auto;
  text-align: center;
  flex: 1;
  border-right: 2px dashed #660066;
}

ul>li:first-child {
  border-left: 2px dashed #660066;
}
<meta http-equiv="X-UA-COMPATIBLE" content="IE=edge.chrome=1" />
<link rel="stylesheet" href="style.css" type="text/css" />
<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=MedievalSharp" rel="stylesheet">

<header>
  <nav>
    <ul>
      <li><a href="#">Games</a></li>
      <li><a href="#">Music</a></li>
      <li><a href="#">Films</a></li>
      <li><a href="#">Photos</a></li>
    </ul>
  </nav>
  <header>

如何在不改变右边框高度的情况下使 ul 列表中的文本居中? 当我尝试删除 height:100% 时,右边框的高度也发生了变化,为什么当我改变

flex:1;

例如

flex:2;

什么都没有发生。这有什么问题?

最佳答案

看看这个 Fiddle ! 我改变了显示属性,我不知道它是否适合你。我什至不知道我是否在回答你的问题,我以为你想实现垂直对齐:中间,但你没有指定它!希望我有所帮助。

HTML:

<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=MedievalSharp" rel="stylesheet">

<header>
  <nav>
    <ul>
      <li><a href="#">Games</a></li>
      <li><a href="#">Music</a></li>
      <li><a href="#">Films</a></li>
      <li><a href="#">Photos</a></li>
    </ul>
  </nav>
  <header>

CSS:

body {
  background-color: #660033;
  padding: 0;
  margin: 0;
}

nav {
  background-color: #FFF033;
  height: 100px;
  display: flex;
}

ul {
  margin: auto;
  margin: 0px;
  padding: 0px;
  list-style-type: none;
  width: 100%;
  display:table;
  height:100%;
}

ul>li {
  height: 100%;
  text-align: center;
  border-right: 2px dashed #660066;
  display:table-cell;
  vertical-align:middle;
}

ul>li:first-child {
  border-left: 2px dashed #660066;
}

关于html - 如何在不改变边框高度的情况下使文本居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45548093/

相关文章:

java - 是否有简单的 http 服务来检查域名可用性

iframe 内的 Javascript 无法在 Internet Explorer 中运行

html - 奇怪的线突然出现?

css - IE 灵活的盒子模型不起作用

html - 如何更改媒体查询中 flex-box 元素的对齐方式?

javascript - 单击滚动更多数据

javascript - 国际化静态网站示例

javascript - 使用 'X' 图标关闭实现 sidenav

CSS 图像 Sprite

具有可变宽度的 CSS flexbox 菜单项彼此叠加