41

我试图通过为标签分配一个类“brtop”来轻推电子邮件标签并稍微输入。

.brtop只是增加了一个上边距。

好像什么都没做,是不是我做错了什么?

/* html5doctor.com Reset v1.6.1 - http://cssreset.com */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/*  ^^CSS_RESET^^ --- vv CSSforsite vv */

form{
	width:500px;
	padding:1.5em;
	overflow:hidden;
	border:1px solid red;
}
fieldset{
	float:left;
	border:none;
	margin-left:1em;
}

.brtop{
margin-top:5px;
}

input{
}
<form name="messageform">
		<fieldset>
			<label for="username" >Name:</label><br/>
			<input type="text" name="username"/><br/>
			<label for="email"class="brtop">Email:</label><br/>
			<input type="text" name="email"/>
		</fieldset>
		<fieldset>
			<label>Message:</label><br/>
			<textarea name="message" cols="20" rows="4"></textarea>
		</fieldset>		
	</form>

4

2 回答 2

78

添加display:inline-block到您的 brtop 规则。

.brtop {
    margin-top:5px;
    display:inline-block;
}

/* html5doctor.com Reset v1.6.1 - http://cssreset.com */

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent
}

body {
  line-height: 1
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block
}

nav ul {
  list-style: none
}

blockquote,
q {
  quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: none
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold
}

del {
  text-decoration: line-through
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0
}

input,
select {
  vertical-align: middle
}


/*  ^^CSS_RESET^^ --- vv CSSforsite vv */

form {
  width: 500px;
  padding: 1.5em;
  overflow: hidden;
  border: 1px solid red;
}

fieldset {
  float: left;
  border: none;
  margin-left: 1em;
}

.brtop {
  margin-top: 5px;
  display: inline-block;
}

input {}
<form name="messageform">
  <fieldset>
    <label for="username">Name:</label>
    <br/>
    <input type="text" name="username" />
    <br/>
    <label for="email" class="brtop">Email:</label>
    <br/>
    <input type="text" name="email" />
  </fieldset>
  <fieldset>
    <label>Message:</label>
    <br/>
    <textarea name="message" cols="20" rows="4"></textarea>
  </fieldset>
</form>

由于您的标签显示为内联元素,因此上边距不会产生任何影响。

边距属性指定框的边距区域的宽度。'margin' 速记属性设置所有四个边的边距,而其他边距属性只设置它们各自的边。这些属性适用于所有元素,但垂直边距不会对未替换的内联元素产生任何影响。- W3

于 2013-04-10T14:52:29.813 回答
9

<label>display: inline。如果你添加display: inline-block.brtop会尊重边距。

于 2013-04-10T14:52:14.623 回答