kee*_*279 2 html css block width fixed-width
我是 CSS 新手,希望有人能帮助我解决这个问题。
我正在尝试将简单的自定义样式应用于文件上传按钮(作为HTML 表单的一部分),使其看起来与页面上的其他按钮相似,并在跨浏览器上获得相似的外观。
到目前为止,我已经按预期工作了以下内容。我现在唯一的问题是我希望按钮占据其父 div 的完整宽度(在我的例子中,这将跨越页面的 9/12('col-9'))。
我尝试添加width: 100%;到 CSS 但按钮不再起作用。
我的HTML:
<div class="col-3 frmCaption">Attachments:</div>
<div class="col-9">
<div class="customUpload btnUpload btnM">
<span>Upload files</span>
<input type="file" class="upload" />
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我的CSS:
.btnDefault, .btnUpload {
background-color: #FFFFFF;
border: 1px solid #CCCCCC;
color: #333333;
cursor: pointer;
font-weight: 400;
display: inline-block;
padding: 6px 12px;
text-align: center;
text-decoration: none;
vertical-align: middle;
}
.btnDefault:focus, .btnDefault:hover, .btnUpload:focus, .btnUpload:hover {
background-color: #E6E6E6;
}
.btnM {
border-radius: 4px;
font-size: 14px;
padding: 6px 12px;
}
.customUpload {
overflow: hidden;
position: relative;
}
.customUpload input.upload {
cursor: pointer;
margin: 0;
opacity: 0;
filter: alpha(opacity=0);
padding: 0;
position: absolute;
right: 0;
top: 0;
}
Run Code Online (Sandbox Code Playgroud)
要设置输入元素的样式,您需要实际设置其label元素的样式。
来自MDN,
HTML 标签元素 () 表示用户界面中项目的标题。可以通过将控件元素放置在元素内或使用 for 属性来将其与控件关联。这样的控件称为标签元素的带标签控件。
因此,每当您单击 a 时label,都会触发附加的输入。
因此,只需将输入元素包装在标签中而不是 div 中,然后根据需要拉伸即可。这将解决你的问题。
.btnDefault,
.btnUpload {
background-color: #FFFFFF;
border: 1px solid #CCCCCC;
color: #333333;
cursor: pointer;
font-weight: 400;
display: inline-block;
padding: 6px 12px;
text-align: center;
text-decoration: none;
vertical-align: middle;
}
.btnDefault:focus,
.btnDefault:hover,
.btnUpload:focus,
.btnUpload:hover {
background-color: #E6E6E6;
}
.btnM {
border-radius: 4px;
font-size: 14px;
padding: 6px 12px;
}
.customUpload {
overflow: hidden;
position: relative;
display: block;
}
.customUpload input.upload {
cursor: pointer;
margin: 0;
opacity: 0;
filter: alpha(opacity=0);
padding: 0;
position: absolute;
right: 0;
top: 0;
}Run Code Online (Sandbox Code Playgroud)
<div class="col-3 frmCaption">Attachments:</div>
<div class="col-9">
<label class="customUpload btnUpload btnM"> <span>Upload files</span>
<input type="file" class="upload" />
</label>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4590 次 |
| 最近记录: |