【问题标题】:Why can I click on a link outside of its text element?为什么我可以单击其文本元素之外的链接?
【发布时间】:2022-02-13 04:16:08
【问题描述】:

我正在建立一个论坛,并且我有一个可以在其文本之外单击的链接,我该如何撤消它? 我还有一个标签内的图像,可以在其图像之外单击,我也想撤消它。 我试过 - 位置:相对;但它没有用。


这是图片的 HTML 代码。

<div class="nav-list">
       <a class="home_A"href="Home.php">
          <img class="homeIcon" src="photos/icon.png">
       </a>
</div>

图片的CSS

.homeIcon{
    width: 200px;
    display:block;
    margin:auto;
    margin: 0 auto;
}

&lt;a&gt; 链接的 CSS

.signinForm a{
margin: auto;
display:block;
text-align:center;
margin-top: 7px;
color: #006db6;
font-size: 20px;
}

&lt;a&gt; 链接的 HTML

<form method="POST" class="signinForm">
<ul>
    <li> <h1 class="signinH1">sign in</h1></li>
    <li> <input type="text" placeholder="User name"name="username_login"class="username" value="<?php if(isset($_POST['username_login'])){echo $_POST['username_login'];}?>" required></li>
    <li> <input type="password" placeholder="Password" name="password_login" class="password" value="<?php  if(isset($_POST['password_login'])){echo $_POST['password_login'];}?>" required></li>
    <li> <input type="submit" value="Log in"class="signinbutton"></li>
    <li><a href="signUp.php">Sign up</a></li>
</ul>

</form>

谢谢大家。

【问题讨论】:

  • 那么,你是说你的锚元素比它的内容大,你希望它是相同的大小?在这种情况下,查看您的 CSS 会很有帮助
  • “我有一个可以在其文本之外点击的链接”???

标签: html css


【解决方案1】:

这可能与 &lt;a&gt; 标签和/或 &lt;img&gt; 标签的 CSS 样式有关。

我的猜测是,类似以下的内容可能会解决您的问题

.homeIcon {
  display: inline-block;
}

【讨论】:

  • 它可以工作,但图像粘在右侧而不是线条的中心,我该如何解决?
【解决方案2】:

尝试类似:

img.homeIcon {
  display: inline-block;
}

div.home_A {
align-content:center;
margin: 0 auto;
text-align: center; // Not mandatory but useful
}

【讨论】:

  • 告诉我这是否符合您的需求!祝你有美好的一天!
  • 您好,谢谢,但它不起作用...
  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。
【解决方案3】:

当然,指定display: inline-block,也可以在&lt;img&gt; 上使用object-fit:contain,并将&lt;a&gt; 的line-height: 设置为1 到1.25,具体取决于您的字体设置方式,但值的影响很小。

:root {
  font: 1ch/1 'Segoe UI'
}

body {
  font-size: 2ch;
}

a {
  font-size: 2.5rem;
  line-height: 1.15;
}

a,
img {
  display: inline-block;
}

img {
  object-fit: contain;
  width: 3rem;
  height: 3rem;
  margin-bottom: -3px;
}
<div class='frame'>
  <a class="zOne" href="https://stackoverflow.com/users/2813224/zer00ne">
..::Zer00ne::..
  <img src='https://i.ibb.co/Kx33pSY/01.jpg'></a>
</div>

【讨论】:

    【解决方案4】:
    <!--HTML_CODE-->
    <div class="nav-list">
       <a class="home_A"href="Home.php">
          <img class="homeIcon" src="photos/icon.png">
       </a>
    </div>
    
    
    <form method="POST" class="signinForm">
    <ul>
    <li> <h1 class="signinH1">sign in</h1></li>
    <li> <input type="text" placeholder="User 
    name"name="username_login"class="username" value="<?php 
    if(isset($_POST['username_login'])){echo $_POST['username_login'];}?>" required> 
    </li>
    <li> <input type="password" placeholder="Password" name="password_login" 
    class="password" value="<?php  if(isset($_POST['password_login'])){echo 
    $_POST['password_login'];}?>" required></li>
    <li> <input type="submit" value="Log in"class="signinbutton"></li>
    <div class="signUp-block">
    <li><a href="signUp.php">Sign up</a></li></div>
    </ul>
    
    </form>
    
    
    /*CSS_CODE*/
    .homeIcon{
    width: 200px;
    display:block;
    margin:auto;
    margin: 0 auto;
    }
    .signUp-block{
    display: flex;
    flex-direction: row;
    justify-content: center;
    }
    .signinForm a{
    
    margin: auto;
    display:inline-block;
    
    text-align:center;
    margin-top: 7px;
    color: #006db6;
    font-size: 20px;
    }
    .homeIcon {
    display: inline-block;
    }
    

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。
    猜你喜欢
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    相关资源
    最近更新 更多