格式化jQuery Mobile Labels及其输入框

时间:2014-01-15 17:32:42

标签: javascript jquery html css jquery-mobile

我在jquery中有一个标签和一个输入框,并希望将其格式化为某个,但这看起来是不可能的。这是我想要实现的目标的图片:

What I'm looking to do

这是我目前拥有的HTML:

<div data-role="fieldcontain" style="width:100%;">
        <label for="name" style="background:yellow;color:black;width:5%;border-top-left-radius:10px;border-bottom-left-radius:10px;padding-right:0px;height:5%;">Text Input</label>
        <input type="text" name="name" id="name" value="" style="border-top-left-radius:0px;border-bottom-left-radius:0px;width:93%"/>
</div>

但我一直这样说:

enter image description here

如何让输入框填满屏幕,即宽度为93%且没有顶部和底部边框半径?另一个问题是文本输入标签高度?什么不height:5%工作?请帮帮忙?

1 个答案:

答案 0 :(得分:1)

您可以在输入上设置data-role="none",然后使用常规CSS。

  

这是 DEMO

    <div id="specialCont">
        <div>
            <label for="pub_url">Text Input</label>
            <input data-role="none" type="text" id="pub_url" name="pub_url" value="http://cssdeck.com" />
        </div>
    </div>

#specialCont {
    background: #165FD1;
    padding: 10px  4px;
    width: 100%;
    margin: 0 auto;
    border: 1px solid #ccc;
}
#specialCont div {
    overflow: hidden;
}
#specialCont label, #specialCont input {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
#specialCont label {
    font-weight: normal;
    background: linear-gradient(#FFFF00, #D8E404);
    padding: 5px;
    color: #333;
    border: 1px solid #d4d4d4;
    border-right: 0;
    border-bottom-left-radius:2em;
    border-top-left-radius: 2em;    
    line-height: 24px;
    width: 20%;
    float: left;
    text-align: center;
    cursor: pointer;
    white-space:nowrap;
}
#specialCont input {
    width: 80%;
    padding: 8px;
    border: 1px solid #d4d4d4;
    border-bottom-right-radius: 2em;
    border-top-right-radius: 2em;
    line-height: 18px;
    float: right;
    margin-top: 0px;
    box-shadow: inset 0px 2px 2px #ececec;
}
#specialCont input:focus {
    outline: 0;
}