6

我有这样的结构

  <div class='myClass'>
     <ul>
          <li>
               <a href="myfile.html">My link</a>
          </li>
     </ul>
  </div>

我的li有一个固定的。
但是a文本并不总是等于li宽度
所以可点击区域小于li
我试图通过增加宽度来修复它,a但它不起作用。
我怎样才能实现它。
我正在使用以下css

.tooltipinner ul {
   list-style-type: none;
   margin: 0;
   overflow-y: auto;
   padding: 0;
   width: 305px;
}
.tooltipinner ul li {
    background-color: #BBAEA5;
    background-image: url("../../Images/UIFiles/Menu/SubmenuBg.jpg");
    background-position: left top;
    background-repeat: repeat-x;
    border-top: 1px solid #C1BFBD;
    color: #FFFFFF;
    cursor: pointer;
    float: left;
    font-size: 12px;
    padding-bottom: 4px;
    padding-left: 5px;
    padding-top: 4px;
    width: 199px;
}
.tooltipinner ul li:hover {
    background-color: #BBAEA5;
    background-image: url("../../Images/UIFiles/Menu/SubmenuBgHover.jpg");
    background-position: left bottom;
    background-repeat: repeat-x;
    border-top: 1px solid #C1BFBD;
    cursor: pointer;
    float: left;
    padding-left: 5px;
}
.tooltipinner ul li a {
    color: #000000;
    font-size: 12px;
    font-weight: 400;
    text-decoration: none;
}
.tooltipinner ul li a:link {
    color: #000000;
    min-width: 200px;
    text-decoration: none;
}

我也试图放一个divinsideablock元素不能放在里面a。我该如何解决这个问题。

这是一个小提琴
http://jsfiddle.net/qry45/2/
http://jsfiddle.net/qry45/4/

4

3 回答 3

10

在你的 CSS 中是这样的:

.myClass li a {
    width: 100%;
}

如果您使用的是 HTML5 文档类型,并且您在元素上设置了块元素,则可以将块元素放置在内联元素(<a>、等)中:<span>display: block;<a>

.myClass li a {
    display: block;
}
于 2013-02-21T05:14:41.270 回答
5

我不确定,但如果你适用width:inherit;于所有内部 a,它可以工作

li {
    width: 400px;
    border: 1px solid red;
}

li a {
    position: relative;
    width: inherit;
    border: 1px solid green;
}
于 2013-02-21T05:18:43.850 回答
0
.myClass li a {
    display: flex;
    flex-basis: auto;
    justify-content: center;    
}

使用 flex-basis 显示 flex: auto 将占用整个 li 容器,而 justfy 内容将使文本居中。这项工作也适用于 ie 11。

于 2018-10-18T14:16:32.267 回答