วิธีการใส่สไตล์และส่งปุ่มด้วย CSS?


146

ฉันเรียน CSS วิธีการใส่สไตล์และส่งปุ่มด้วย CSS?

ฉันกำลังพยายามสร้างบางสิ่งเช่นนี้ แต่ฉันไม่รู้จะทำอย่างไร

<form action="#" method="post">
    Name <input type="text" placeholder="First name"/>
    <input type="text" placeholder="Last name"/>
    Email <input type="text"/>
    Message <input type="textarea"/>
    <input type="submit" value="Send"/>
</form>

ป้อนคำอธิบายรูปภาพที่นี่


8
คุณสามารถจัดรูปแบบตามที่คุณต้องการสไตล์องค์ประกอบอื่น ๆ
Explosion Pills


6
สิ่งสำคัญที่ควรทราบคุณไม่สามารถจัดสไตล์ได้เหมือนองค์ประกอบอื่น ๆ แท็กไม่สนับสนุนสิ่งที่ต้องการ<input> ::after
JamEngulfer

3
แก้ไข. <button type="submit"><span>Send</span></button>นั่นเป็นเหตุผลที่ผมคิดว่ามันเป็นที่นิยมในการใช้งาน จากนั้นคุณสามารถใช้::afterบนspan-tag
kunambi

คำตอบ:


215

http://jsfiddle.net/vfUvZ/

นี่คือจุดเริ่มต้น

CSS:

input[type=text] {
    padding:5px; 
    border:2px solid #ccc; 
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

input[type=text]:focus {
    border-color:#333;
}

input[type=submit] {
    padding:5px 15px; 
    background:#ccc; 
    border:0 none;
    cursor:pointer;
    -webkit-border-radius: 5px;
    border-radius: 5px; 
}

67

เพียงแค่จัดสไตล์ปุ่มส่งของคุณเหมือนกับที่คุณใช้สไตล์องค์ประกอบ HTML อื่น ๆ คุณสามารถกำหนดเป้าหมายประเภทขององค์ประกอบการป้อนข้อมูลได้โดยใช้ตัวเลือกแอตทริบิวต์ CSS

ตัวอย่างเช่นคุณสามารถเขียน

input[type=text] {
   /*your styles here.....*/
}
input[type=submit] {
   /*your styles here.....*/
}
textarea{
   /*your styles here.....*/
}

รวมกับตัวเลือกอื่น ๆ

input[type=text]:hover {
   /*your styles here.....*/
}
input[type=submit] > p {
   /*your styles here.....*/
}
....

นี่คือตัวอย่างการทำงาน


25

HTML

<input type="submit" name="submit" value="Send" id="submit" />

CSS

#submit {
 color: #fff;
 font-size: 0;
 width: 135px;
 height: 60px;
 border: none;
 margin: 0;
 padding: 0;
 background: #0c0 url(image) 0 0 no-repeat; 
}

17

ฉันอยากจะแนะนำแทนที่จะใช้

<input type='submit'>

ใช้

<button type='submit'>

ปุ่มถูกนำเสนอโดยคำนึงถึงสไตล์ CSS โดยเฉพาะ ตอนนี้คุณสามารถเพิ่มภาพพื้นหลังไล่ระดับสีลงในมันหรือจัดสไตล์โดยใช้การไล่ระดับสี CSS3

อ่านเพิ่มเติมเกี่ยวกับโครงสร้างแบบฟอร์ม HTML5 ที่นี่

http://www.w3.org/TR/2011/WD-html5-20110525/forms.html

ไชโย! .Pav


1
สิ่งนี้มีประโยชน์มากเนื่องจาก Safari สำหรับ iOS ใช้สไตล์ของฉันกับปุ่มอย่างถูกต้อง แต่ไม่ <<ป้อนประเภท = "ส่ง"> :)
CrushedPixel

แต่คุณไม่สามารถระบุค่าเป็นข้อความบนปุ่มได้แทนที่จะเป็นข้อความระหว่างแท็กปุ่ม <button> TEXT </button>
Uzebeckatrente

4

เพื่อความน่าเชื่อถือฉันขอแนะนำให้ให้ชื่อคลาสหรือidองค์ประกอบที่มีสไตล์ (เหมาะอย่างยิ่งclassสำหรับอินพุตข้อความเนื่องจากจะมีหลายอย่าง) และidปุ่มส่ง (แม้ว่าclassจะใช้ได้ดี):

<form action="#" method="post">
    <label for="text1">Text 1</label>
    <input type="text" class="textInput" id="text1" />
    <label for="text2">Text 2</label>
    <input type="text" class="textInput" id="text2" />
    <input id="submitBtn" type="submit" />
</form>

ด้วย CSS:

.textInput {
    /* styles the text input elements with this class */
}

#submitBtn {
    /* styles the submit button */
}

สำหรับเบราว์เซอร์ที่ทันสมัยมากขึ้นคุณสามารถเลือกตามคุณสมบัติ (ใช้ HTML เดียวกัน):

.input {
    /* styles all input elements */
}

.input[type="text"] {
     /* styles all inputs with type 'text' */
}

.input[type="submit"] {
     /* styles all inputs with type 'submit' */
}

คุณสามารถใช้คอมบิเนเตอร์พี่น้อง (เนื่องจากอินพุตข้อความเป็นสไตล์ดูเหมือนจะติดตามlabelองค์ประกอบอยู่เสมอและการส่งจะตามด้วย textarea (แต่นี่ค่อนข้างบอบบาง):

label + input,
label + textarea {
    /* styles input, and textarea, elements that follow a label */
}

input + input,
textarea + input {
    /* would style the submit-button in the above HTML */
}

4

form element UI นั้นควบคุมโดยเบราว์เซอร์และระบบปฏิบัติการดังนั้นจึงไม่สำคัญที่จะจัดวางสไตล์ให้น่าเชื่อถือมากในแบบที่มันจะดูเหมือนกันในชุดเบราว์เซอร์ / ระบบปฏิบัติการทั่วไปทั้งหมด

ถ้าคุณต้องการบางสิ่งที่เฉพาะเจาะจงฉันขอแนะนำให้ใช้ไลบรารีที่ให้องค์ประกอบแบบฟอร์มที่มีสไตล์ uniform.jsเป็นหนึ่งในห้องสมุดดังกล่าว


@BalinKingOfMoria ดูเหมือนว่าใช่ ฉันอัพเดทลิงค์
eis

1

เมื่อจัดแต่งทรงผมประเภทอินพุตส่งใช้รหัสต่อไปนี้

   input[type=submit] {
    background-color: pink; //Example stlying
    }

1

จริงๆแล้วมันใช้งานได้ดีเช่นกัน

input[type=submit]{
                 width: 15px;
                 position: absolute;
                 right: 20px;
                 bottom: 20px;
                 background: #09c;
                 color: #fff;
                 font-family: tahoma,geneva,algerian;
                 height: 30px;
                 -webkit-border-radius: 15px;
                 -moz-border-radius: 15px;
                 border-radius: 15px;
                 border: 1px solid #999;
             }

นี่มันแย่มาก
Ratbert

1

ฉันทำอย่างนี้ตามคำตอบที่ได้รับที่นี่ฉันหวังว่ามันจะช่วยได้

.likeLink {
    background: none !important;
    color: #3387c4;
    border: none;
    padding: 0 !important;
    font: inherit;
    cursor: pointer;
}
    .likeLink:hover {
        background: none !important;
        color: #25618c;
        border: none;
        padding: 0 !important;
        font: inherit;
        cursor: pointer;
        text-decoration: underline;
    }

0

HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>CSS3 Button</title>
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="container">
<a href="#" class="btn">Push</a>
</div>
</body>
</html>

CSS สไตล์

a.btn {
display: block; width: 250px; height: 60px; padding: 40px 0 0 0; margin: 0 auto;

background: #398525; /* old browsers */
background: -moz-linear-gradient(top, #8DD297 0%, #398525 100%); /* firefox */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#8DD297), color-stop(100%,#398525)); /* webkit */

box-shadow: inset 0px 0px 6px #fff;
-webkit-box-shadow: inset 0px 0px 6px #fff;
border: 1px solid #5ea617;
border-radius: 10px;
}

2
วิธีใช้สิ่งนี้เช่นการป้อนข้อมูลส่ง
2307683

0

ง่ายมาก:

<html>
<head>
<head>
<style type="text/css">
.buttonstyle 
{ 
background: black; 
background-position: 0px -401px; 
border: solid 1px #000000; 
color: #ffffff;
height: 21px;
margin-top: -1px;
padding-bottom: 2px;
}
.buttonstyle:hover {background: white;background-position: 0px -501px;color: #000000; }
</style>
</head>
<body>
<form>
<input class="buttonstyle" type="submit" name="submit" Value="Add Items"/>
</form>
</body>
</html>

นี่ใช้งานได้ฉันได้ทำการทดสอบแล้ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.