HTML 和CSS:创建一个复选框而不使用“checkbox”

发布于 2024-12-11 15:02:00 字数 662 浏览 0 评论 0原文

这是代码(是的,我正在使用基本的reset.css):

.checkbox { border: 1px solid black; width: 10px; height: 10px; }

<ul>
    <li>
        <p><div class="checkbox"></div>I will!</p>
    </li>
    <li>
        <p><div class="checkbox"></div>I won't!</p>
    </li>
</ul>

您可以看到我正在尝试做什么。本质上是创建一个复选框。我不使用复选框标签的原因是因为我必须将这个东西导出为 PDF,以便可以打印它,并且笨手笨脚的人可以将其 X 标记拖过该框。如果我使用复选框标签,它就太小了。如果我使用图像,PDF 不会正确排列。

所以。我需要 CSS 框按预期排列。我缺少什么?我尝试将 div 更改为 display: inline; 但它消失了! inline-block没用。

我疯狂地试图搜索这个,但无济于事,所以如果这出现在其他地方,我深表歉意。

写!

here's the code (and, yes, i'm using a basic reset.css):

.checkbox { border: 1px solid black; width: 10px; height: 10px; }

<ul>
    <li>
        <p><div class="checkbox"></div>I will!</p>
    </li>
    <li>
        <p><div class="checkbox"></div>I won't!</p>
    </li>
</ul>

you can see what i'm trying to do. essentially create a checkbox. the reason i'm NOT using a checkbox tag is because i have to export this thing to PDF so that it can be printed and hamfisted bogots can drag their X mark through the box. if i use the checkbox tag, it's too small. if i use and image, PDF doesn't line up right.

so. i need the CSS box to line up as expected. what am i missing? i've tried changing the div to display: inline; but it freakin' disappears! inline-block useless.

i tried like mad to search this one out, but to no avail, so if this showed up somewhere else, apologies.

WR!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

一绘本一梦想 2024-12-18 15:02:00
.checkbox { 
    border: 1px solid black; 
    width: .65em; 
    height: .65em; 
    display: inline-block;
    margin-right: 4px;
}

在这里查看它的工作原理:http://jsfiddle.net/ZeaLM/

.checkbox { 
    border: 1px solid black; 
    width: .65em; 
    height: .65em; 
    display: inline-block;
    margin-right: 4px;
}

See it working here: http://jsfiddle.net/ZeaLM/

子栖 2024-12-18 15:02:00

inline-block 是您需要的display

inline-block is the display you need for this.

我恋#小黄人 2024-12-18 15:02:00

您的浏览器可能对空元素很挑剔。尝试将   添加到

中。

Your browser might be persnickety about empty elements. Try adding a   into the <div>.

随波逐流 2024-12-18 15:02:00

不允许出现在

元素内部(不允许在其中包含任何块级元素)。

查看此示例

在此示例中,我使用了 display: inline -block; 并将

元素更改为

<div> is not allowed inside of <p> elements (which doesn't allow any block-level elements inside of it).

See this example

In this example, I've used display: inline-block; and changed the <p> element into a <div>.

云之铃。 2024-12-18 15:02:00

有很多方法可以做到这一点,其中之一就是这个

There's many ways to do it, one of which is this

惟欲睡 2024-12-18 15:02:00

只是为了确保 - 您是否将 .checkbox 选择器放入实际 HTML 中的

<style type="text/css">
    .checkbox { border: 1px solid black; width: 10px; height: 10px; }
</style>

Just to make sure - did you put the .checkbox selector inside a <style> tag in the actual HTML?

<style type="text/css">
    .checkbox { border: 1px solid black; width: 10px; height: 10px; }
</style>
扛刀软妹 2024-12-18 15:02:00

1) 删除

元素

2) 将 float: left 添加到 .checkbox 样式

3) 添加 & ;nbsp;div 后面或 div 块的 padding: right 使其看起来更好

4) 添加 li { 列表样式类型: 没有任何; } 在你的样式块中

5) 在你的 .checkbox 样式中尝试使用 vertical-align 直到你满意为止

1) Get rid of the <p> elements

2) Add float: left to your .checkbox style

3) Add   after the div or a padding: right to the div block to make it look better

4) Add li { list-style-type: none; } in your style block

5) Play around with vertical-align in your .checkbox style until you're happy

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文