Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 设置链接到<;李>;而不仅仅是文本_Html_Css - Fatal编程技术网

Html 设置链接到<;李>;而不仅仅是文本

Html 设置链接到<;李>;而不仅仅是文本,html,css,Html,Css,可能重复: 你能设置一个链接到的整个宽度而不是文本所在的位置吗 这就是我的意思,我希望用户能够单击按钮上的任何位置,转到链接,而不仅仅是文本: 问题之一是我不能使用display:block;因为我在链接后面有一个数字,例如(1)因为您使用的是jQuery,所以可以这样做: $("li.cat-item").click(function () { $("a", this).click(); return false; }); 因为您使用的是jQuery,所以可以这样做: $(

可能重复:

你能设置一个链接到
  • 的整个宽度而不是文本所在的位置吗

    这就是我的意思,我希望用户能够单击按钮上的任何位置,转到链接,而不仅仅是文本:


    问题之一是我不能使用display:block;因为我在链接后面有一个数字,例如(1)

    因为您使用的是jQuery,所以可以这样做:

    $("li.cat-item").click(function () {
        $("a", this).click();
        return false;
    });
    

    因为您使用的是jQuery,所以可以这样做:

    $("li.cat-item").click(function () {
        $("a", this).click();
        return false;
    });
    

    是的,只需从LI元素中移除任何填充,并根据需要在锚定标记上推出填充

    <li class="link-wrapper">
      <a href="http://this.com" >Go Here</a>
    </li> 
    

    是的,只需从LI元素中移除任何填充,并根据需要在锚定标记上推出填充

    <li class="link-wrapper">
      <a href="http://this.com" >Go Here</a>
    </li> 
    

    默认情况下,锚定标记是
    内联框
    ,这意味着它们不会完全填充其父项(它们不会占用所有空间),它们只会收缩以适应其内容。因此,您应该使用此CSS使它们填充
    li
    元素的空间:

    li a
    {
       display: block;
       height: 100%;
    }
    

    还要记住,您应该删除
    li
    元素中的任何填充,并删除
    a
    元素的边距。这样,锚定标记的边界与
    li
    标记的边界相交。例如,查看锚定标记的链接,默认情况下,锚定标记是
    内联框
    ,这意味着它们不会完全填充其父项(它们不会占用所有空间),它们只会收缩以适应其内容。因此,您应该使用此CSS使它们填充
    li
    元素的空间:

    li a
    {
       display: block;
       height: 100%;
    }
    

    还要记住,您应该删除
    li
    元素中的任何填充,并删除
    a
    元素的边距。这样,锚定标记的边界与
    li
    标记的边界相交。例如,查看

    添加
    显示:块的链接到样式,您就一切就绪

    编辑

    呃,没有看到JSFIDLE示例。如果从
    LI
    s中移除顶部/底部填充,并将其放在
    A
    s上,再将计数放在
    A
    s中的A
    SPAN
    ,则这些规则将获得所需的结果:

    div.gg_newscats a {
        display: block;
        height: 100%;
        padding: 10px;
    }
    div.gg_newscats a span {
        color: black;
    }
    div.gg_newscats ul li {
        float: left;
        font-size: 13px;
        margin-left: 2%;
        margin-top: 2px;
        text-align: center;
        width: 30%;
        padding: 2px;
    }
    
    示例HTML:

    <li class="cat-item cat-item-148">
      <a title="Vis alle indlæg i kategorien Electrical" href="http://test.vps.graenseguiden.dk/newscat/electrical/">
        Electrical
        <br>
        <span>(1)</span>
      </a>
    </li>
    

  • 添加
    显示:块到样式,您就一切就绪

    编辑

    呃,没有看到JSFIDLE示例。如果从
    LI
    s中移除顶部/底部填充,并将其放在
    A
    s上,再将计数放在
    A
    s中的A
    SPAN
    ,则这些规则将获得所需的结果:

    div.gg_newscats a {
        display: block;
        height: 100%;
        padding: 10px;
    }
    div.gg_newscats a span {
        color: black;
    }
    div.gg_newscats ul li {
        float: left;
        font-size: 13px;
        margin-left: 2%;
        margin-top: 2px;
        text-align: center;
        width: 30%;
        padding: 2px;
    }
    
    示例HTML:

    <li class="cat-item cat-item-148">
      <a title="Vis alle indlæg i kategorien Electrical" href="http://test.vps.graenseguiden.dk/newscat/electrical/">
        Electrical
        <br>
        <span>(1)</span>
      </a>
    </li>
    

  • 我倾向于使用的一种解决方案是将
    元素放在
  • 元素块级别中,使用

    显示:块


    之后,删除您在
  • 元素上指定的任何填充,并将其添加到
    元素上,您应该会得到相同的视觉输出,但是将整个
  • 作为一个链接,我倾向于使用的一个解决方案是使用

    显示:块


    之后,删除您在
  • 元素上指定的任何填充,并将其添加到
    元素上,您应该会得到相同的视觉输出,但将整个
  • 作为链接时,根本不设置li的样式(浮动除外:左侧,如果需要,清除填充、边距和列表样式类型)。将所有样式设置放在A上(并使用display:block)。

    如果需要,根本不设置LI的样式(浮动:左侧和清除填充、边框和列表样式类型除外)。将所有样式设置放在A上(并使用display:block)。

    虽然可以使用jQuery进行管理,但也可以对大多数浏览器使用简单的CSS:

    <style>
    ul { width: 200px; background: #ccc; }
    li { line-height: 3em; }
    a { display: block; width: 100%; height: 100%; padding: 5px; }
    </style>
    <ul>
    <li><a href="#">This is a link</a></li>
    </ul>
    
    
    ul{宽度:200px;背景:#ccc;}
    li{线高:3em;}
    {显示:块;宽度:100%;高度:100%;填充:5px;}
    

    虽然您可以使用jQuery进行管理,但也可以对大多数浏览器使用简单的CSS:

    <style>
    ul { width: 200px; background: #ccc; }
    li { line-height: 3em; }
    a { display: block; width: 100%; height: 100%; padding: 5px; }
    </style>
    <ul>
    <li><a href="#">This is a link</a></li>
    </ul>
    
    
    ul{宽度:200px;背景:#ccc;}
    li{线高:3em;}
    {显示:块;宽度:100%;高度:100%;填充:5px;}
    
    Edit 2 新代码。。。简单多了。。。唯一一件我不喜欢的事情是链接的文本装饰不得不取消

    .cat-item
    {
        padding: 0px;
    }
    
    .cat-item a
    {
        padding: 13px 0px 13px 0px;
    }
    
    .cat-item span
    {
        margin-left: 5px;
        color: black;
    }
    
    .cat-item a:hover
    {
        text-decoration:none;
    }
    
    我不得不稍微更改标记(将数字放在一个范围内),但除此之外,并没有太多

    此处演示:

    我必须坚持下去!重要信息,因为导入的样式表冲突

    编辑 读者文摘版本:不要在
  • 上添加填充物。。。曾经在
  • 中的
    上添加填充,然后填充空白,具有相同的效果,但也可以处理单击-剪断-

    编辑2 新代码。。。简单多了。。。唯一一件我不喜欢的事情是链接的文本装饰不得不取消

    .cat-item
    {
        padding: 0px;
    }
    
    .cat-item a
    {
        padding: 13px 0px 13px 0px;
    }
    
    .cat-item span
    {
        margin-left: 5px;
        color: black;
    }
    
    .cat-item a:hover
    {
        text-decoration:none;
    }
    
    我不得不稍微更改标记(将数字放在一个范围内),但除此之外,并没有太多

    此处演示:

    我必须坚持下去!重要信息,因为导入的样式表冲突

    编辑 读者文摘版本:不要在
  • 上添加填充物。。。曾经在
  • 中的
    上添加填充,然后填充空白,具有相同的效果,但也可以处理单击-剪断-

    我不想右边的号码在另一行,那是 问题是,它应该在文本的右边

    我想我明白你在这里想做什么。不过,我不确定,因为你的问题让人很困惑

    首先,在
    a
    上设置
    display:block
    。在这里这样做是正确的

    然后,将数字移动到
    a
    中,并添加
    跨度