2017-02-17 34 views
1

我試圖從這裏這個谷歌-codelabs頁「克隆」的TOC: https://codelabs.developers.google.com/codelabs/cloud-app-engine-aspnetcore如何在沒有固定高度的情況下在IE 11中垂直居中文本?

到目前爲止,它完美地在谷歌,Chrome和Firefox。
但Internet Explorer(11)... 從項目3判斷,它似乎像IE沒有正確對齊中間的子彈垂直。
爲什麼?
如何正確對齊IE 11中間的項目符號和文本?

the problem

這是我(or see fiddle)

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> 

    <meta http-equiv="cache-control" content="max-age=0" /> 
    <meta http-equiv="cache-control" content="no-cache" /> 
    <meta http-equiv="expires" content="0" /> 
    <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" /> 
    <meta http-equiv="pragma" content="no-cache" /> 

    <meta charset="utf-8" /> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

    <meta http-equiv="Content-Language" content="en" /> 
    <meta name="viewport" content="width=device-width,initial-scale=1" /> 

    <meta name="google" value="notranslate" /> 
    <title>Simple Page</title> 

    <style type="text/css" media="all"> 

     html, body 
     { 
      width: 100%; height:100%; 
      margin: 0px; padding: 0px; 
     } 


     body 
     { 
      background-color: #0c70b4; 
      color: #546775; 
      font: normal 400 18px "PT Sans", sans-serif; 
      -webkit-font-smoothing: antialiased; 
     } 





     .googleblue 
     { 
      background-color:#1E88E5; 
     } 

     .bgLeft 
     { 
      background-color: #F5F5F5; 
     } 

     .bgRight 
     { 
      background-color: #E0E0E0; 
     } 


     .googlefontgray_line 
     { 
      color: #777777; 
     } 
    </style> 


</head> 
<body class="bgLeft"> 

    <style> 

     .paper-item-0 
     { 
      display: -ms-flexbox; 
      display: -webkit-flex; 
      display: flex; 
      -ms-flex-direction: row; 
      -webkit-flex-direction: row; 
      flex-direction: row; 
      -ms-flex-align: center; 
      -webkit-align-items: center; 
      align-items: center; 
      font-family: 'Roboto', 'Noto', sans-serif; 
      -webkit-font-smoothing: antialiased; 
      font-size: 16px; 
      font-weight: 400; 
      line-height: 24px; 


      position: relative; 
      min-height: 48px; 
      padding: 0px 16px; 
      border: 1px solid hotpink; 
     } 

     .toc-item 
     { 
      font-size: 14px; 
      color: #9e9e9e; 
      overflow: hidden; 
      border-radius: 4px; 
      padding: 6px 16px; 
      box-sizing: content-box; 
     } 



     .bulletStyle 
     { 
      display: inline-block; 
      font-style: normal; 
      width: 24px; 
      min-width: 24px; 
      background-color: #fff; 
      border-radius: 50%; 
      text-align: center; 
      height: 24px; 
      vertical-align: middle; 
      line-height: 24px; 
      border: 2px solid #bdbdbd; 
      margin-right: 8px; 
      font-weight: 400; 
     } 


     .lineAbove::before 
     { 
      position: absolute; 
      top: 0px; 
      left: 30px; 
      bottom: calc(50% + 12px); 
      content: ''; 
      display: block; 
      border-left: 1px solid #bdbdbd; 
      #width: 0; 
      #height: 44px; 
      z-index: 1; 
      #margin-top: 1px; 
      #margin-left: 11px; 
     } 

     .lineBelow::after 
     { 
      position: absolute; 
      top: calc(50% + 12px); 
      left: 30px; 
      bottom: 0px; 
      content: ''; 
      display: block; 
      border-left: 1px solid #bdbdbd; 
      #width: 0; 
      #height: 44px; 
      z-index: 1; 
      #margin-top: 1px; 
      #margin-left: 11px; 
     } 

     /* 
     .lineAbove::before 
     { 
      border-color: #2196f3; 
     } 
     */ 

     .tocText 
     { 
      font-size: 14px; 
      color: #9e9e9e; 
      padding: 6px 16px; 
     } 

    </style> 


    <paper-item class="toc-item paper-item-0" role="option" tabindex="0" aria-disabled="false" aria-selected="true"> 
     <i class="bulletStyle #lineAbove lineBelow">1</i> 
     <span class="tocText">Overview</span> 
    </paper-item> 

    <paper-item class="toc-item paper-item-0" role="option" tabindex="-1" aria-disabled="false"> 
     <i class="bulletStyle lineAbove lineBelow">2</i> 
     <span class="tocText">Setup and requirements 
      <br />Line 1 
      <br />Line 2 
      <br />Line 3 
      <br />Line 4 
      <br />Line 5 
      <br />Line 6 
     </span> 
    </paper-item> 


    <paper-item class="toc-item paper-item-0" role="option" tabindex="-1" aria-disabled="false"> 
     <i class="bulletStyle lineAbove lineBelow">3</i> 
     <span class="tocText">foo</span> 
    </paper-item> 



    <a class="toc-item paper-item-0" role="option" tabindex="-1" aria-disabled="false"> 
     <i class="bulletStyle lineAbove #lineBelow">4</i> 
     <span class="tocText">foo</span> 
    </a> 



</body> 
</html> 
+0

IE11屏幕https://yadi.sk/d/sHOZamgd3EBykb您需要了解中央對齊項目 – grinmax

+0

一切: http://stackoverflow.com/questions/19461521/how-to-center-an-element-horizo​​ntally-and-vertically – nashcheez

+0

可能重複的[如何將元素水平和垂直居中ically?](http://stackoverflow.com/questions/19461521/how-to-center-an-element-horizo​​ntally-and-vertically) – Option

回答

2

更改box-sizing: content-box;box-sizing: border-box;.toc-item規則

Updated fiddle

.paper-item-0 { 
 
    display: -ms-flexbox; 
 
    display: -webkit-flex; 
 
    display: flex; 
 
    -ms-flex-direction: row; 
 
    -webkit-flex-direction: row; 
 
    flex-direction: row; 
 
    -ms-flex-align: center; 
 
    -webkit-align-items: center; 
 
    align-items: center; 
 
    font-family: 'Roboto', 'Noto', sans-serif; 
 
    -webkit-font-smoothing: antialiased; 
 
    font-size: 16px; 
 
    font-weight: 400; 
 
    line-height: 24px; 
 
    position: relative; 
 
    min-height: 48px; 
 
    padding: 0px 16px; 
 
    border: 1px solid hotpink; 
 
} 
 

 
.toc-item { 
 
    font-size: 14px; 
 
    color: #9e9e9e; 
 
    overflow: hidden; 
 
    border-radius: 4px; 
 
    padding: 6px 16px; 
 
    box-sizing: border-box; 
 
} 
 

 
.bulletStyle { 
 
    display: inline-block; 
 
    font-style: normal; 
 
    width: 24px; 
 
    min-width: 24px; 
 
    background-color: #fff; 
 
    border-radius: 50%; 
 
    text-align: center; 
 
    height: 24px; 
 
    vertical-align: middle; 
 
    line-height: 24px; 
 
    border: 2px solid #bdbdbd; 
 
    margin-right: 8px; 
 
    font-weight: 400; 
 
} 
 

 
.lineAbove::before { 
 
    position: absolute; 
 
    top: 0px; 
 
    left: 30px; 
 
    bottom: calc(50% + 12px); 
 
    content: ''; 
 
    display: block; 
 
    border-left: 1px solid #bdbdbd; 
 
    #width: 0; 
 
    #height: 44px; 
 
    z-index: 1; 
 
    #margin-top: 1px; 
 
    #margin-left: 11px; 
 
} 
 

 
.lineBelow::after { 
 
    position: absolute; 
 
    top: calc(50% + 12px); 
 
    left: 30px; 
 
    bottom: 0px; 
 
    content: ''; 
 
    display: block; 
 
    border-left: 1px solid #bdbdbd; 
 
    #width: 0; 
 
    #height: 44px; 
 
    z-index: 1; 
 
    #margin-top: 1px; 
 
    #margin-left: 11px; 
 
} 
 

 

 
/* 
 
     .lineAbove::before 
 
     { 
 
      border-color: #2196f3; 
 
     } 
 
     */ 
 

 
.tocText { 
 
    font-size: 14px; 
 
    color: #9e9e9e; 
 
    padding: 6px 16px; 
 
}
<paper-item class="toc-item paper-item-0" role="option" tabindex="0" aria-disabled="false" aria-selected="true"> 
 
    <i class="bulletStyle #lineAbove lineBelow">1</i> 
 
    <span class="tocText">Overview</span> 
 
</paper-item> 
 

 
<paper-item class="toc-item paper-item-0" role="option" tabindex="-1" aria-disabled="false"> 
 
    <i class="bulletStyle lineAbove lineBelow">2</i> 
 
    <span class="tocText">Setup and requirements 
 
      <br />Line 1 
 
      <br />Line 2 
 
      <br />Line 3 
 
      <br />Line 4 
 
      <br />Line 5 
 
      <br />Line 6 
 
     </span> 
 
</paper-item> 
 

 

 
<paper-item class="toc-item paper-item-0" role="option" tabindex="-1" aria-disabled="false"> 
 
    <i class="bulletStyle lineAbove lineBelow">3</i> 
 
    <span class="tocText">foo</span> 
 
</paper-item> 
 

 

 

 
<a class="toc-item paper-item-0" role="option" tabindex="-1" aria-disabled="false"> 
 
    <i class="bulletStyle lineAbove #lineBelow">4</i> 
 
    <span class="tocText">foo</span> 
 
</a>

0

試試這個代碼:

<paper-item class="toc-item paper-item-0" role="option" tabindex="0" aria-disabled="false" aria-selected="true"> 
    <i class="bulletStyle #lineAbove lineBelow">1</i> 
    <span class="tocText">Overview</span> 
</paper-item> 

將此代碼添加到文件項標籤

paper-item 
{ 
display:flex; 
align-item: center; 
} 
相關問題