【问题标题】:How to center li tags using CSS如何使用 CSS 将 li 标签居中
【发布时间】:2015-04-01 03:49:00
【问题描述】:

我在一个网站上工作,想创建一个包含嵌入图片作为链接的自定义列表。 Here 是网站的链接:

我希望链接根据浏览器大小重新排列左对齐,并根据浏览器大小调整图片大小。

我正在让它根据浏览器大小重新调整大小,但在我的一生中,我无法让产品以移动设备和某些浏览器大小为中心。

这是我目前使用的 HTML/CSS。

提前感谢您的帮助。

HTML:

<div class="home-page">
<ul class="tile">
<li id="one"><a href="http://google.com"><img src="http://www.skyvueranchalpacas.com/wp-content/uploads/2015/03/Alpaca-Test.jpg" alt="" /></a></li>
<li id="two"><a href="http://google.com"><img src="http://www.skyvueranchalpacas.com/wp-content/uploads/2015/03/Alpaca-Test.jpg" alt="" /></a></li>
<li id="three"><a href="http://google.com"><img src="http://www.skyvueranchalpacas.com/wp-content/uploads/2015/03/Alpaca-Test.jpg" alt="" /></a></li>
<li id="four"><a href="http://google.com"><img src="http://www.skyvueranchalpacas.com/wp-content/uploads/2015/03/Alpaca-Test.jpg" alt="" /></a></li>

CSS:

/* Home page Tiles
*/

/* tiles as a whole */

.post-475 page type-page status-publish entry{
}

div.home-page{
margin: 0 auto;
padding: 0;
text-align:center;
}

.tile{
    float: left;
position: relative;
display: block;
text-align: center;
background: none;
font-size: 20px;
border-right: 1px solid #fff;
margin-top: 8px;
margin-left: -40px;
line-height: 1em;
padding-left: 10px;

}
/* indavidual list */
.tile li{
position: relative;
display: inline-block;
text-align: center;
background: none;
font-size: 20px;
line-height: 60px;
padding:0 10px;

}
/* List Picture (before click) */
.tile li img {
max-width: 22em;
width: 100%;
height: auto;

}

【问题讨论】:

    标签: html css wordpress responsive-design html-lists


    【解决方案1】:

    您可以将&lt;li&gt;s 集中在CSS 中的.entry-content ul 中。只需将其替换为以下给定的即可。

    .entry-content ul {
      display: inline-block;
      text-align: center;
    }
    

    【讨论】:

    • 这似乎有帮助。但是在较低的浏览器上(例如手机,列表仍然没有居中。
    • 为什么会这样?
    • 尝试从.title删除填充
    【解决方案2】:

    试试这个:

    .tile{
       /* float: left;*/
    position: relative;
    display: block;
    text-align: center;
    background: none;
    font-size: 20px;
    border-right: 1px solid #fff;
    margin-top: 8px;
    margin-left: -40px;
    line-height: 1em;
    padding-left: 10px;
    
    }
    /* indavidual list */
    li{
    position: relative;
    display: inline-block;
    text-align: center;
    background: none;
    font-size: 20px;
    line-height: 60px;
    padding:0 10px;
    

    使用li 而不是.title li。此外,float:left; 声明可能会否定 text-align:center; 之一。

    【讨论】:

      【解决方案3】:

      您的&lt;div class="home-page"&gt; 有一个margin-left: 20%,导致列表不居中。使用媒体查询来解决这个问题:

      @media screen and (max-width: 40em){
          div.home-page{
          margin-left: 0;
          }
      }
      

      我没有对此进行大量测试,但它为我解决了这个问题。

      祝你好运!

      【讨论】:

      • 我还注意到你的.entry-content ul{ 你有margin-left: 0, auto 这是不正确的。您只能将一个值传递给 margin-left 所以我将其更改为 .entry-content ul{ margin: 0 auto; text-align-center;} 并且您可能也会得到您实际寻找的行为。
      猜你喜欢
      • 2012-12-27
      • 2014-04-09
      • 2019-08-21
      • 1970-01-01
      • 2018-02-05
      • 1970-01-01
      • 2016-11-06
      • 2013-07-04
      • 2014-03-24
      相关资源
      最近更新 更多