列表项旁边的 HTML 按钮无法正确显示

Posted

技术标签:

【中文标题】列表项旁边的 HTML 按钮无法正确显示【英文标题】:HTML buttons do not display properly next to list items 【发布时间】:2020-01-16 06:43:51 【问题描述】:

我正在构建传统的待办事项列表应用程序,以增加我对 Vuejs 的理解。大多数功能都按预期工作,但是我的待办事项没有正确显示。每个项目都应该有一个“删除”按钮,显示在其行的右侧,但这些按钮会渗入下面的行(见图)。

让我恼火的是复选框显示正确,但按钮却没有。我尝试将按钮的所有 css 更改为复选框的 css,但这不起作用

TodoItem.vue

<template lang="html">
  <li class="todo-item" v-bind:class=" 'is-complete': todo.completed ">
    <div class="checkbox-holder">
      <input type="checkbox" v-on:change="markComplete(todo.id)" />
    </div>
    <h2> todo.title </h2>
    <button v-on:click="deleteTodo(todo.id)" class="del">x</button>
  </li>
</template>

App.scss

.todos 
  position: absolute;
  display: block;
  width: 656px;
  background-color: white;
  margin-left: 266px;
  border-right: $generic-border;
  min-height: calc(100vh);
  padding-left: 40px;
  padding-right: 40px;
  padding-top: 80px;
  padding-bottom: 80px;

  @include mq("900px") 
    margin-left: 0;
    width: auto;
  
  h2 
    font-size: 20px;
    font-weight: normal;
  
  &__list li 
    line-height: 1.4;
    color: #333;
    font-size: 14px;
    list-style-type: none;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 20px;
    margin-top: 20px;
    padding: 20px;
    &.is-complete 
      text-decoration: line-through;
    
    button 
      @include btn("30px");
      float: right;
      display: block;
    
    .checkbox-holder 
      margin-right: 20px;
      margin-left: 20px;
      align-items: center;
      justify-content: center;
      line-height: 16px;
      float: left;
      .checkbox 
        cursor: pointer;
        border-color: gray;
        color: #343434;
        height: 16px;
        width: 16px;
        border: 1px solid gray;
        border-radius: 16px;
      
    
  


以下是按钮的显示方式。

【问题讨论】:

我建议使用 flex-box 而不是浮动。但是,如果您确实想坚持使用float,请尝试在模板中将&lt;button&gt; 标记移到&lt;h2&gt; 之前。 【参考方案1】:

你可以看到下面的代码。

li 
  display: flex;
  align-items: center;
<ul>
  <li class="todo-item">
    <div class="checkbox-holder">
      <input type="checkbox"/>
    </div>
    <h2>Hello world</h2>
    <button>x</button>
  </li>
</ul>

【讨论】:

以上是关于列表项旁边的 HTML 按钮无法正确显示的主要内容,如果未能解决你的问题,请参考以下文章

Android - 无法从列表项中增加或减少值

如何在 xamarin 表单的集合视图中的最后一项旁边添加图像/按钮?

UICollectionViewCell 中的 UILabel 有时无法正确调整大小

使用 HTML 助手时不正确的列表模型绑定索引

列表项未显示正确的文本

在 c# 中使用 linq 按钮无法从 json 中正确计算章节 ID