html - <ul> 标签会自动导致表格单元格内居中对齐吗?

标签 html css

这有点奇怪,但在我的表格单元格中我有一个元素符号点,出于某种奇怪的原因它导致文本在单元格的中心对齐,即使我没有包含文本对齐中心或任何类似的东西.老实说,所有其他不包含元素符号点的表格列都正常向左对齐,但对于包含元素符号点的列,它会导致文本居中对齐,我不知道这是为什么.

我的问题是 <ul>标记导致文本在表格单元格内默认居中对齐,或者是否存在某种与 <ul> 相矛盾的内容标记,因此它将文本对齐到中心?

下表(缩减代码):

    <table id="tableqanda" cellpadding="0" cellspacing="0">
    <thead>
    <tr>
        <th width="11%" class="image">Image</th>
    </tr>
    </thead>
    </table>
    <div id="tableqanda_onthefly_container">
    <table id="tableqanda_onthefly" cellpadding="0" cellspacing="0">
    <tbody>
        <?php
          foreach ($arrQuestionId as $key=>$question) {
        echo '<tr class="tableqandarow">'.PHP_EOL;
        echo '<td width="11%" class="imagetd">'. ( ( empty ($arrImageFile[$key]) ) ? "&nbsp;" : '<ul class="qandaul"><li>'.htmlspecialchars( is_array( $arrImageFile[$key] ) ? implode(",", $arrImageFile[$key]) : $arrImageFile[$key] ) ). '</li></ul></td>' . PHP_EOL;

        echo '</tr>'.PHP_EOL;
        }
?>
    </tbody>
    </table>

下面是包含表格 css 的 css:

.imagetd{
    font-size:75%;  
}


.qandaul{
    list-style-type:square;
}

#tableqanda_onthefly_container
{
    width:100%;
    overflow-y: auto;
    overflow-x: hidden;
    max-height:500px;
}

#tableqanda_onthefly
{
    width:100%;
    overflow:auto;
    clear:both;
}

#tableqanda_onthefly td
{
    border:1px black solid;
    border-collapse:collapse;
}

#tableqanda, #tableqanda_onthefly{
    border:1px black solid;
    border-collapse:collapse;
    table-layout:fixed;
    word-wrap:break-word;
}       

#tableqanda{
    width:100%;
    margin-left:0;
    float:left;
}

#tableqanda td { 
    vertical-align: middle;
    border:1px black solid;
    border-collapse:collapse;
}

#tableqanda th{
    border:1px black solid;
    border-collapse:collapse;
    text-align:center;
}

.tableqandarow{
    border:1px black solid;
    border-collapse:collapse;
}

最佳答案

由于浏览器的常见默认设置,ul 元素通常显示为缩进。这可能取决于不同浏览器中的不同 CSS 属性,因此您可能需要多个 CSS 声明来删除缩进。例如,缩进可能是由于默认的左填充或由于默认的左边距而发生的。以下是一种相当安全的方法(假设您也希望删除元素周围的默认垂直间距):

ul, ul li { margin: 0; padding: 0; }
ul { margin-left: 1.3em; }

第二条规则是为列表元素符号保留空间。元素符号出现在 li 项内容的左侧,因此它需要一些空间。 1.3em 的值倾向于提供平衡的外观,元素符号左右两侧的间距大致相等。

关于html - <ul> 标签会自动导致表格单元格内居中对齐吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14451162/

相关文章:

javascript - 当单击其外部的内容时,使绝对 div 隐藏

javascript - 重用 Javascript 函数的最佳实践

HTML 文件不会使用其他文件或链接

css - 使用 css 的工具提示样式不起作用,仍然看到默认工具提示?

javascript - jQuery 多个加/减计数器

html - 如何将另一个样式表与 Bootstrap 一起使用?

html - 在 HTML 中以交叉方式对齐 4 个图像

javascript - jquery 追加大写标签

javascript - 动画在悬停时停止,在鼠标移出时开始但不能再次悬停以重复停止动画

HTML - 阻止未按预期显示(嵌入列表)