【问题标题】:CSS is not working for table tdCSS 不适用于表 td
【发布时间】:2017-05-13 22:57:29
【问题描述】:

我正在使用 ASP.NET,它使用所有默认的 javascript 库,如 Bootstrap、jQuery 和 ...

我想自定义由 Visual Studio 生成的 EDIT 视图。我想为表格单元格应用一种样式,但我的 css 不起作用,并且下拉菜单不在中间垂直

我尝试遵循 CSS,但它们都不起作用

<style type="text/css">
    #tb_dataentry td {
        vertical-align: auto;
    }
</style>

<style type="text/css">
    td {
        vertical-align: auto;
    }
</style>

#tb_dataentry 是我的表的 id。

我还使用了middle 而不是auto 并使用了!important 这个词,但没有运气。

如果我对每个单独的 TD 使用相同的样式,它会起作用,但我想在一个地方这样做。

这是我的表格的html

<table id="tb_dataentry">
    <tr>
        <td style="vertical-align:auto">
            @Html.LabelFor(model => model.PropertyType, htmlAttributes: new { @class = "control-label col-md-2" })
        </td>
        <td>
            <div class="form-group">
                <div class="col-md-10">
                    @Html.EnumDropDownListFor(model => model.PropertyType, htmlAttributes: new { @class = "form-control" })
                    @Html.ValidationMessageFor(model => model.PropertyType, "", new { @class = "text-danger" })
                </div>
            </div>
        </td>

编辑:编译的 HTML

...... many things above this line
<style type="text/css">
    td {
        vertical-align: middle;
    }
</style>

<!-- Start page content -->
<section id="page-content" class="page-wrapper">
    <div class="about-sheltek-area ptb-115">
        <div class="container">
            <div class="row">

                <form action="/ManageProperties/Edit/1" method="post">
                    <input name="__RequestVerificationToken" type="hidden" value="3_tLe9pLOu0CiWg8X81ivfdT0rjyvb4XnCIyAeR0k8uoP8FE_3hMA3xtZh2igj_9Q3SMGBb5WxdxEkNeNkZrTP-WeGpGugHOKVZ7Zxa_8n81" />
                    <div class="form-horizontal">
                        <h4>Property</h4>
                        <hr />

                        <input data-val="true" data-val-number="The field PropertyId must be a number." data-val-required="The PropertyId field is required." id="PropertyId" name="PropertyId" type="hidden" value="1" />

                        <table id="tb_dataentry">
                            <tr>
                                <td>
                                    <label class="control-label col-md-2" for="PropertyType">PropertyType</label>
                                </td>
                                <td>
                                    <div class="form-group">
                                        <div class="col-md-10">
                                            <select class="form-control" data-val="true" data-val-required="The PropertyType field is required." id="PropertyType" name="PropertyType">
                                                <option value="0">Apartment</option>
                                                <option selected="selected" value="1">Condo</option>
                                                <option value="2">SingleFamily</option>
                                                <option value="3">MultiFamity</option>
                                                <option value="4">Villa</option>
                                                <option value="5">Suite</option>
                                            </select>
                                            <span class="field-validation-valid text-danger" data-valmsg-for="PropertyType" data-valmsg-replace="true"/>
                                        </div>

【问题讨论】:

  • 那么是否有另一个 CSS 规则覆盖了您的设置?
  • 可能。这就是我使用 !important 的原因。但如果是这种情况,当我在 TD 标签中使用样式时它不应该工作。
  • CSS specificity .... 检查元素,看看是什么覆盖了你的风格。制定具有更高特异性的规则。
  • 哪个td 的样式不正确,第一个还是第二个(包含div)?
  • 我检查了,我没有看到任何可能影响这个的东西

标签: css asp.net-mvc twitter-bootstrap


【解决方案1】:

auto 不是 vertical-align 属性的有效值。默认值为initial

你可以在这里看到有效值http://www.w3schools.com/cssref/pr_pos_vertical-align.asp

可以通过编辑 .form-group 行为来完成您的案例对齐 - 它应该具有 inline-block 显示模式,在这种情况下 vertical-align 属性可以处理其行为

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>

<style>
#tb_dataentry td {
    vertical-align: middle;
  border: 1px solid red;
}

.form-group {
    margin-bottom: 0 !important;
    display: inline-block;
    vertical-align: middle;
}

.control-label {
    padding-top: 0 !important;
      margin-bottom: 0 !important;
}
</style>

<!-- Start page content -->
<section id="page-content" class="page-wrapper">
  <div class="about-sheltek-area ptb-115">
    <div class="container">
      <div class="row">

        <form action="/ManageProperties/Edit/1" method="post">
          <input name="__RequestVerificationToken" type="hidden" value="3_tLe9pLOu0CiWg8X81ivfdT0rjyvb4XnCIyAeR0k8uoP8FE_3hMA3xtZh2igj_9Q3SMGBb5WxdxEkNeNkZrTP-WeGpGugHOKVZ7Zxa_8n81" />
          <div class="form-horizontal">
            <h4>Property</h4>
            <hr />

            <input data-val="true" data-val-number="The field PropertyId must be a number." data-val-required="The PropertyId field is required." id="PropertyId" name="PropertyId" type="hidden" value="1" />

            <table id="tb_dataentry">
              <tr>
                <td>
                  <label class="control-label col-md-2" for="PropertyType">PropertyType</label>
                </td>
                <td>
                  <div class="form-group">
                    <div class="col-md-10">
                      <select class="form-control" data-val="true" data-val-required="The PropertyType field is required." id="PropertyType" name="PropertyType">
                        <option value="0">Apartment</option>
                        <option selected="selected" value="1">Condo</option>
                        <option value="2">SingleFamily</option>
                        <option value="3">MultiFamity</option>
                        <option value="4">Villa</option>
                        <option value="5">Suite</option>
                      </select>
                      <span class="field-validation-valid text-danger" data-valmsg-for="PropertyType" data-valmsg-replace="true" />
                    </div>

【讨论】:

  • 我已经尝试过中间提到的。我还应该尝试什么。顺便说一句,这不是答案,请在评论中留言
  • 可以提供编译好的html吗?
  • 添加图片和html
  • 您对 .form-group 的看法是正确的。我删除了它并且它起作用了。但是当我使用你的 CSS 时,它仍然没有对齐。但是你的 sn-p 工作正常。诡异的!。您是否更改了 HTML 中的任何内容?或者我可以只使用 css 来修复它?
  • @FLICKER 我编辑了 sn-p,所以它现在在 &lt;style&gt; 标记中包含所有 css,确保它在包含 bootsrap.css 之后继续。您使用哪个版本的引导程序?
猜你喜欢
  • 1970-01-01
  • 2019-02-20
  • 2019-01-30
  • 2013-11-16
  • 1970-01-01
  • 2017-06-12
  • 1970-01-01
  • 2012-06-15
  • 1970-01-01
相关资源
最近更新 更多