【问题标题】:html items not appearing on same linehtml项目没有出现在同一行
【发布时间】:2018-03-22 00:35:29
【问题描述】:

在下面的 html 中,我无法获取标签,并且相应的单选按钮出现在同一行,正确的方法是什么?

谢谢

<div class="display-field">
            @foreach (var value in Enum.GetValues(typeof(items.titles)))
            {
                    <div class="display-field">
                            @Html.Label(value.ToString())
                            @Html.RadioButtonFor(m => m.title, value)
                    </div>
            }
</div>

【问题讨论】:

标签: asp.net-mvc html visual-studio


【解决方案1】:

尝试使用 LabelFor 代替 Label

@Html.LabelFor

更多细节,这里是标签教程 http://www.tutorialsteacher.com/mvc/htmlhelper-label-labelfor

【讨论】:

  • 感谢您的链接,但它只是产生相同的东西,其中标题的值在一行上,单选按钮在下一行
  • 我认为css有问题,因为@Html标签应该出现在同一行。试试下面的文章,希望对你有帮助stackoverflow.com/questions/6437621/…stackoverflow.com/questions/11144845/…
  • 你不应该使用不同的助手来生成 HTML,只是为了让标签出现在行内块中。改用 CSS 样式。
【解决方案2】:

将标签的 CSS 样式设置为 inline-block

@Html.Label(value.ToString(), new { style = "display: inline-block" })

如果没有看到您页面的 CSS,您调用 @Html.Label() 生成的标签元素可能设置为块级别 (display: block)。块级元素相互堆叠,内联/内联块级元素不会。

请记住,您应该在 CSS 中设置 display 值,而不是在助手的 htmlAttributes 值中设置。你可以通过把这个(或者在你的 CSS 文件中定位更好的东西)来做到这一点:

label { display: inline-block; }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    • 1970-01-01
    • 2013-08-30
    • 2018-01-24
    • 2014-11-27
    相关资源
    最近更新 更多