【问题标题】:Text overlaps when resizing browser调整浏览器大小时文本重叠
【发布时间】:2017-10-19 18:16:33
【问题描述】:

我发现了这个不错的标题 > https://codepen.io/rm/pen/ldhon 但是当我调整窗口大小时,文本重叠。在这个演示中,您必须调整窗口的大小太多,但问题是当字体大小较大或菜单中有更多文本时,它会比在此演示中更快地重叠。


HTML:

<div class="container">
  <ul>
    <li class="one"><a href="#">Uno</a></li><!--
 --><li class="two"><a href="#">Dos</a></li><!--
 --><li class="three"><a href="#">Tres</a></li><!--
 --><li class="four"><a href="#">Quatro</a></li>
    <hr />
  </ul>
</div>

CSS:

* {
  box-sizing: border-box;
}

body {
  font: 300 100% 'Helvetica Neue', Helvetica, Arial;
}

.container {
  width: 50%;
  margin: 0 auto;
}

ul li {
  display: inline;
  text-align: center;
}

a {
  display: inline-block;
  width: 25%;
  padding: .75rem 0;
  margin: 0;
  text-decoration: none;
  color: #333;
}

.two:hover ~ hr {
  margin-left: 25%;
}

.three:hover ~ hr {
  margin-left: 50%;
}

.four:hover ~ hr {
  margin-left: 75%;
}

hr {
  height: .25rem;
  width: 25%;
  margin: 0;
  background: tomato;
  border: none;
  transition: .3s ease-in-out;
}

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: html css


    【解决方案1】:

    我能够通过为容器设置 100% 的宽度以及容器内的每个元素具有相等的宽度来填充容器以及应用一些填充来完成您需要的操作,这样事情就不会一起运行。试试这个:

    .container {
      width: 100%;
      margin: 0 auto;
    }
    
    ul li {
      display: inline;
      text-align: center;
      padding: 0 20px;
    }
    
    a {
      display: inline-block;
      width: 20%;
      padding: .75rem 0;
      margin: 0;
      text-decoration: none;
      color: #333;
    }
    

    【讨论】:

      【解决方案2】:

      在无序列表上使用 flexbox 并包装它们以防屏幕缩小。删除锚标记上的内联显示。

      * {
        box-sizing: border-box;
      }
      
      body {
        font: 300 100% 'Helvetica Neue', Helvetica, Arial;
      }
      
      .container {
        width: 50%;
        margin: 0 auto;
      }
      
      ul{
        display: flex;
        justify-content: space-around;
        flex-wrap: wrap;
        list-style: none;
      }
      
      a {
        
        width: 25%;
        padding: .75rem 0;
        margin: 0;
        text-decoration: none;
        color: #333;
      }
      
      .two:hover ~ hr {
        margin-left: 25%;
      }
      
      .three:hover ~ hr {
        margin-left: 50%;
      }
      
      .four:hover ~ hr {
        margin-left: 75%;
      }
      
      hr {
        height: .25rem;
        width: 50%;
        margin: 0 auto;
        background: tomato;
        border: none;
        transition: .3s ease-in-out;
      }
      <div class="container">
        <ul>
          <li ><a href="#">Uno</a></li>
         <li ><a href="#">Dos</a></li>
         <li ><a href="#">Tres</a></li>
         <li ><a href="#">Quatro</a></li>
          
        </ul>
        <hr />
      </div>

      【讨论】:

        【解决方案3】:
        1. 将容器宽度设置为 100%。

        2. 还移除了 ul 填充,因此它占据了整个 100% 的宽度。

        3. 删除了正文边距。

        * {
          box-sizing: border-box;
        }
        
        body {
          font: 300 100% 'Helvetica Neue', Helvetica, Arial;
          margin: 0;
        }
        
        .container {
          width: 100%;
          margin: 0 auto;
        }
        
        ul li {
          display: inline;
          text-align: center;
        }
        
        a {
          display: inline-block;
          width: 25%;
          padding: .75rem 0;
          margin: 0;
          text-decoration: none;
          color: #333;
        }
        
        .two:hover~hr {
          margin-left: 25%;
        }
        
        .three:hover~hr {
          margin-left: 50%;
        }
        
        .four:hover~hr {
          margin-left: 75%;
        }
        
        hr {
          height: .25rem;
          width: 25%;
          margin: 0;
          background: tomato;
          border: none;
          transition: .3s ease-in-out;
        }
        
        ul {
         padding: 0;
        }
        <div class="container">
          <ul>
            <li class="one"><a href="#">Uno</a></li><!--
         --><li class="two"><a href="#">Dos</a></li><!--
         --><li class="three"><a href="#">Tres</a></li><!--
         --><li class="four"><a href="#">Quatro</a></li>
            <hr />
          </ul>
        </div>

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-06-28
          • 2012-06-13
          相关资源
          最近更新 更多