PlaceHolder

HTML

<div class="textbox">
			<div style="width: 100%; position: relative;">
				<input id="login" name="login" class="ltr_override" type="text" style="position:relative; z-index:6;" autocomplete="off"
						onfocus="InpFocus(this);" onblur="InpBlur(this);" onkeypress="InpKeypress(this);" onkeyup="InpKeyup(this);" />
				<div class="phholder" style="left: 0px; top: 0px; width: 100%; position: absolute; z-index: 5;">
					<div class="placeholder ltr_override" aria-hidden="true" style="cursor: text;">用户名</div>
				</div>
			</div>
		</div>

CSS

* {
				line-height: 142%;
			}

			html {
				overflow: auto;
			}

			div.textbox, select {
				width: 320px;
				/*以下两个属性在实际使用时需要去掉*/
				margin-top:20px;
				margin-left:20px;
			}

			div.textbox > div {
				margin-bottom: 8px;
			}

			body {
				margin: 0;
				font-family: "Microsoft Yahei UI","Microsoft Yahei",Verdana,Simsun,"Segoe UI","Segoe UI Web Regular","Segoe UI Symbol","Helvetica Neue","BBAlpha Sans","S60 Sans",Arial,sans-serif;
				color: #000;
				background-color: #fff;
				background-image: none;
				background-repeat: repeat;
				background-position: top left;
				direction: ltr;
				font-size: 88%;
				-webkit-font-smoothing: antialiased;
			}

			input, select, textarea, button {
				font-size: 100%; outline:none;
				font-family: "Microsoft Yahei UI","Microsoft Yahei",Verdana,Simsun,"Segoe UI","Segoe UI Web Regular","Segoe UI Symbol","Helvetica Neue","BBAlpha Sans","S60 Sans",Arial,sans-serif;
			}

				input[type=text], input[type=password], input[type=email], input[type=tel] {
					ime-mode: inactive;
				}

				input[type=email], .ltr_override {
					direction: ltr;
				}

				input[type=text], input[type=password], input[type=email], input[type=tel] {
					padding: 4px 8px;
					height: 1.46em;
					width: 302px;	/* padding-left 和 padding-right 为 8+8  还有 border-left 和 border-right 为 1 + 1 ,所以 width 为 320 - 16 - 2 */
				}

			input[type=text], input[type=password], input[type=email], input[type=number], input[type=tel], input[type=search], textarea {
				width: 18.54em;
				padding: 4px 8px;
				font-family: "Microsoft Yahei UI","Microsoft Yahei",Verdana,Simsun,"Segoe UI","Segoe UI Web Regular","Segoe UI Symbol","Helvetica Neue","BBAlpha Sans","S60 Sans",Arial,sans-serif;
				font-size: 100%;
				color: #212121;
				border: 1px solid #bababa;
				background-color: rgba(255,255,255,.8);
				filter:Alpha(opacity=80);
			}

			input[type=text], input[type=password], input[type=email], input[type=number], input[type=tel], input[type=search]...

JavaScript

function InpFocus(obj) {
    var login = obj;
    
    login.style.border = "1px solid #999";
}
function InpBlur(obj) {
    var login = obj;
    
    login.style.border = "1px solid #bababa";
}
function InpKeypress(obj) {
    var login = obj;
    
    if (login.value === "" && window.event.keyCode === 8) return;
    
    var placeHolder = login.nextElementSibling || util.getNextSibling(login.nextSibling);
    
    placeHolder = util.getDomNode(placeHolder.childNodes);
    
    placeHolder.innerText = "";
}
function InpKeyup(obj) {
    var login = obj;
    var placeHolder = login.nextElementSibling || util.getNextSibling(login.nextSibling);
    
    placeHolder = util.getDomNode(placeHolder.childNodes);
    
    if (login.value === "") {
        placeHolder.innerText = "用户名"
    } else {
        placeHolder.innerText = ""
    }
}

var util = {
    getNextSibling: function (node) {
        var n = node;
        
        while (n.nodeType != 1) {
            n = n.nextElementSibling || n.nextSibling;
        }
        
        return n;
    },
    getDomNode: function (arr) {
        for (var i = 0; i < arr.length; i++) {
            if (arr[i].nodeType === 1) return arr[i];
        }
    }
};