ไอคอนตัวอักษรที่น่ากลัวภายในองค์ประกอบการป้อนข้อความ


136

ฉันพยายามแทรกไอคอนผู้ใช้ในช่องป้อนชื่อผู้ใช้

ฉันได้ลองวิธีแก้ปัญหาจากคำถามที่คล้ายกันโดย ทราบว่าbackground-imageคุณสมบัติไม่ทำงานเนื่องจากFont Awesomeเป็นแบบอักษร

ต่อไปนี้เป็นวิธีการของฉันและฉันไม่สามารถแสดงไอคอนได้

.wrapper input[type="text"] {
    position: relative;
}

.wrapper input[type="text"]:before {
    font-family: 'FontAwesome';
    position: absolute;
    top: 0px;
    left: -5px;
    content: "\f007";
}

ฉันมีแบบอักษรหน้าประกาศในแบบอักษรเริ่มต้น css ที่น่ากลัวดังนั้นฉันไม่แน่ใจว่าถ้าเพิ่มแบบอักษรตระกูลด้านบนเป็นวิธีที่เหมาะสม

 @font-face {
     font-family: 'FontAwesome';
     src: url('../Font/fontawesome-webfont.eot?v=3.2.1');
     src: url('../Font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../Font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../Font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../Font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');
 }

คุณต้องการรู้อะไร คำถาม / ข้อผิดพลาดคืออะไร?
allcaps

@ allcaps โอ๊ะโอ…ฉันยอมรับว่าไม่มีทางที่จะระบุข้อผิดพลาดที่ฉันพบจากการดูโพสต์ดั้งเดิมของฉัน ฉันแก้ไขนิดหน่อย
Seong Lee

ดูคำตอบที่อัปเดตของฉัน
allcaps

คำตอบ:


108

คุณถูก. : before and: after pseudo content ไม่ได้มีวัตถุประสงค์เพื่อทำงานกับเนื้อหาimgและinputองค์ประกอบที่ถูกแทนที่ การเพิ่มองค์ประกอบห่อและประกาศแบบอักษรตระกูลเป็นหนึ่งในความเป็นไปได้เช่นเดียวกับการใช้ภาพพื้นหลัง หรืออาจเป็นข้อความตัวยึดตำแหน่ง html5 ที่ตรงกับความต้องการของคุณ:

<input name="username" placeholder="&#61447;">

เบราว์เซอร์ที่ไม่รองรับแอตทริบิวต์ตัวยึดตำแหน่งจะเพิกเฉย

UPDATE

input[type="text"]:beforeก่อนที่จะเลือกเนื้อหาที่เลือกการป้อนข้อมูล: .wrapper:beforeคุณควรเลือกเสื้อคลุม: ดูhttp://jsfiddle.net/allcaps/gA4rx/ ฉันยังได้เพิ่มข้อเสนอแนะตัวยึดตำแหน่งซึ่งตัวคลุมซ้ำซ้อน

.wrapper input[type="text"] {
    position: relative; 
}

input { font-family: 'FontAwesome'; } /* This is for the placeholder */

.wrapper:before {
    font-family: 'FontAwesome';
    color:red;
    position: relative;
    left: -5px;
    content: "\f007";
}

<p class="wrapper"><input placeholder="&#61447; Username"></p>

รั้งท้าย

Font Awesome ใช้ Unicode พื้นที่ใช้งานส่วนตัว (PUA) เพื่อจัดเก็บไอคอน อักขระอื่น ๆ ไม่มีอยู่และถอยกลับไปเป็นค่าเริ่มต้นของเบราว์เซอร์ นั่นควรจะเหมือนกับอินพุตอื่น ๆ หากคุณกำหนดแบบอักษรในองค์ประกอบอินพุตให้ระบุแบบอักษรเดียวกันกับทางเลือกสำหรับสถานการณ์ที่เราใช้ไอคอน แบบนี้:

input { font-family: 'FontAwesome', YourFont; }

4
ใช้วิธีการยึดตำแหน่งของคุณทำงาน ปัญหาคือข้อความปกติ (ที่ไม่ใช่ไอคอน) ไม่ตรงกับแบบอักษรหน้าของส่วนที่เหลือของหน้าและแสดงเป็น serif เริ่มต้นของเบราว์เซอร์ มีวิธีใดบ้างที่จะหลีกเลี่ยงปัญหานี้
harryg

6
Font Awesome ใช้ Unicode พื้นที่ใช้งานส่วนตัว (PUA) เพื่อจัดเก็บไอคอน อักขระอื่น ๆ ไม่มีอยู่และถอยกลับไปเป็นค่าเริ่มต้นของเบราว์เซอร์ นั่นควรจะเหมือนกับอินพุตอื่น ๆ input { font-family: 'FontAwesome' YourFont; }หากคุณกำหนดตัวอักษรในองค์ประกอบใส่ที่ไหนสักแห่งแล้วจัดหาอักษรเช่นเดียวกับทางเลือกสำหรับสถานการณ์ที่เราใช้ไอคอน: สิ่งนี้ช่วยได้ไหม? คุณสามารถถามคำถามใหม่ได้เสมอ
allcaps

1
@allcaps คำแนะนำเพื่อใช้ฟอนต์ทางเลือกสำหรับครอบครัวของตัวยึดตำแหน่ง WONDERS !! ฉันไม่คิดว่าจะเปลี่ยนแบบอักษรผ่านทางเลือก คุณสามารถอัปเดตคำตอบเพื่อรวมแบบอักษรสำรองสำหรับผู้ใช้ในอนาคตได้หรือไม่ ขอบคุณ!
ProfileTwist

1
ฉันจะหารายการของรหัสได้ที่ไหน ฉันหมายถึงผู้ใช้ฟ & # 61447;
Elyor

1
@Elyor: คุณไม่จำเป็นต้องใช้เอนทิตี html หากโครงการของคุณคือ UTF-8 คุณสามารถคัดลอกวางสัญลักษณ์แบบอักษรที่ยอดเยี่ยม มันอาจจะปรากฏเป็นบล็อคในโปรแกรมแก้ไขรหัสของคุณ แต่ก็ไม่เป็นไร คุณยังสามารถใช้หนึ่งในหลาย ๆ ตัวแปลง unicode to html-entity ออนไลน์
allcaps

123

เอาท์พุท:

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

HTML:

<input name="txtName" id="txtName">

<span class="fa fa-info-circle errspan"></span>

CSS:

<style type="text/css">
    .errspan {
        float: right;
        margin-right: 6px;
        margin-top: -20px;
        position: relative;
        z-index: 2;
        color: red;
    }
</style>

(หรือ)

เอาท์พุท:

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

HTML:

<div class="input-wrapper">
     <input type="text" />
 </div>

CSS:

<style type="text/css">
    .input-wrapper {
        display:inline-block;
        position: relative
    }
    .input-wrapper:after {
        font-family: 'FontAwesome';
        content: '\f274';
        position: absolute;
        right: 6px;
    }
</style>

2
นั่นเป็นเคล็ดลับที่ยอดเยี่ยมในการใช้แบบอักษรที่ยอดเยี่ยมพร้อมกล่องข้อความ
Sun

เป็นไปได้ไหมที่จะทำให้ไอคอนนั้นคลิกได้?
FrenkyB

5
@FrenkyB ใช่ <span class = "fa fa-info-circle errspan" onclick = 'YOUR_FUNCTION ()'> </span>
Palanikumar

2
การตั้งค่าz-index: 1จะทำให้อินพุทพื้นฐานจับโฟกัสเมื่อคุณคลิกที่ไอคอน - สิ่งที่คุณอาจต้องการเช่นเมื่อเพิ่ม datepicker
romaricdrigon

ทำงานได้ดีสำหรับฉัน แต่ฉันไม่ได้ใช้position: relative(ระยะขอบติดลบไม่จำเป็นต้องใช้) หรือz-index(ทันทีที่องค์ประกอบแสดงผลหลังจากป้อนข้อมูล)
Pierre de LESPINAY

24

คุณสามารถใช้กระดาษห่อ ภายใน wrapper ให้เพิ่มองค์ประกอบแบบอักษรที่น่ากลัวi และinputองค์ประกอบ

<div class="wrapper">
    <i class="fa fa-icon"></i>
    <input type="button">
</div>

จากนั้นตั้งค่าตำแหน่งของ wrapper ให้สัมพันธ์:

.wrapper { position: relative; }

จากนั้นตั้งค่าiตำแหน่งขององค์ประกอบเป็นสัมบูรณ์และตั้งค่าตำแหน่งที่ถูกต้องสำหรับมัน:

i.fa-icon { position: absolute; top: 10px; left: 50px; }

(มันเป็นแฮ็คฉันรู้ แต่มันทำให้งานเสร็จ)


2
ทำไมเราต้องมี. Krapper ที่นั่น?
Ashfaque Rifaye

ในขณะที่ฉันเข้าใจมันองค์ประกอบที่แน่นอนจะถูกวางเทียบกับบรรพบุรุษ 'ตำแหน่ง' ที่ใกล้ที่สุด ตำแหน่ง: สัมพัทธ์หมายถึง wrapper นั้นอยู่ในตำแหน่ง (อาจเป็นแบบสัมบูรณ์คงที่หรือเหนียว) หากคุณไม่ทำเช่นนี้ไอคอนจะอยู่ในตำแหน่งที่สัมพันธ์กับองค์ประกอบอื่น ๆ ที่สูงกว่าใน dom (หรือหากไม่พบองค์ประกอบที่มีตำแหน่งที่สัมพันธ์กับวิวพอร์ต)
Jaqen H'ghar

20

คำตอบนี้จะทำงานให้กับคุณหากคุณต้องการปฏิบัติตามเงื่อนไขต่อไปนี้ (ไม่มีคำตอบปัจจุบันตรงตามเงื่อนไขเหล่านี้):

  1. ไอคอนอยู่ภายในกล่องข้อความ
  2. ไอคอนไม่ควรหายไปเมื่อป้อนข้อความลงในอินพุตและข้อความที่ป้อนจะอยู่ทางด้านขวาของไอคอน
  3. การคลิกที่ไอคอนควรทำให้อินพุตสำคัญอยู่ในโฟกัส

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

.input-icon{
  position: absolute;
  left: 3px;
  top: calc(50% - 0.5em); /* Keep icon in center of input, regardless of the input height */
}
input{
  padding-left: 17px;
}
.input-wrapper{
  position: relative;
}
<link href="https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet"/>
<div class="input-wrapper">
  <input id="stuff">
  <label for="stuff" class="fa fa-user input-icon"></label>
</div>


4
คำตอบที่ดีที่สุดสำหรับการมีไอคอนอยู่ในช่องใส่ที่ไอคอนยังคงมองเห็นได้ในขณะที่ผู้ใช้ประเภท
ObjectiveTC

บนสุด: calc (50% - 0.5em) ถือว่าฉลากของคุณมีความสูง 1em
drichar

1
@drichar - ฉันเพิ่งทดสอบมันยังใช้งานได้กับความสูงของฉลาก ตราบใดที่คุณไม่จัดแนวข้อความฉลากภายในฉลาก (ซึ่งไม่ใช่ค่าเริ่มต้น) เนื่องจากข้อความนั้นจัดอยู่ด้านบนตามค่าเริ่มต้นฉลากที่มีความสูงจะยังคงทำงานได้อย่างถูกต้อง ฉันยังทดสอบด้วยขนาดแบบอักษรที่แตกต่างกันบนฉลากและอินพุต ดูเหมือนว่าจะทำงานได้ในทุกสถานการณ์
Skeets

@ SkeetsO'Reilly ฉันยืนแก้ไขแล้ว ฉันสับสนกับ em และ rem 0.5em ครึ่งหนึ่งของขนาดตัวอักษร ทางออกที่ดีฉันใช้มันในโครงการ (เพียงแค่ใช้ SVG ที่กำหนดเองไม่ได้เอฟเอซึ่งมีขนาดตัวอักษรไม่ซึ่งจะนำไปสู่ปัญหาการวางตำแหน่งของฉันและแสดงความคิดเห็นเข้าใจผิด)
drichar

14

ไม่จำเป็นต้องใช้รหัสมาก ... เพียงทำตามขั้นตอนต่อไปนี้:

<input id="input_search" type="text" class="fa" placeholder="&#xf002 Search">

คุณสามารถค้นหาลิงก์ไปยัง Unicode ( fontawesome ) ได้ที่นี่ ...

FontAwesome Unicode สำหรับไอคอน


ถ้าฉันใช้ฟอนต์ตระกูลอื่นสำหรับตัวยึดอยู่แล้ว แล้วมันจะไม่ทำงาน มีวิธีใดที่จะทำให้ข้อความ "ค้นหา" ใน "& # xf002 ค้นหา" ใช้แบบอักษรที่กำหนดเองและยูนิโค้ดยังคงใช้ตัวอักษร fontawesome?
Sushmit Sagar

6

.input-icon{
  position: absolute;
  left: 3px;
  top: calc(50% - 0.5em); /* Keep icon in center of input, regardless of the input height */
}
input{
  padding-left: 17px;
}
.input-wrapper{
  position: relative;
}
<link href="https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet"/>
<div class="input-wrapper">
  <input id="stuff">
  <label for="stuff" class="fa fa-user input-icon"></label>
</div>


สวัสดีโปรดแนบคำอธิบายเล็ก ๆ น้อย ๆ ให้กับคุณ
Aditya Thakur

1
คำตอบนี้จะทำงานให้คุณหากคุณต้องการเงื่อนไขต่อไปนี้ (ไม่มีคำตอบปัจจุบันตรงตามเงื่อนไขเหล่านี้): ไอคอนอยู่ในกล่องข้อความไอคอนไม่ควรหายไปเมื่อป้อนข้อความลงในอินพุตและข้อความที่ป้อนไปที่ ทางด้านขวาของไอคอนการคลิกที่ไอคอนควรทำให้อินพุตสำคัญอยู่ในโฟกัสผมเชื่อว่า 3 คือจำนวนองค์ประกอบ HTML ที่น้อยที่สุดเพื่อให้ตรงตามเงื่อนไข
Ola Olushesi

5

เมื่ออ่านคำถามนี้หลาย ๆ เวอร์ชันและค้นหาสิ่งรอบตัวฉันได้คิดวิธีแก้ปัญหาที่สะอาดและปลอดภัย มันคล้ายกับโซลูชัน @allcaps แต่หลีกเลี่ยงปัญหาของแบบอักษรอินพุตที่ถูกเปลี่ยนจากแบบอักษรเอกสารหลัก

ใช้แอ::input-placeholderททริบิวเพื่อกำหนดลักษณะของข้อความตัวยึดตำแหน่งโดยเฉพาะ สิ่งนี้ช่วยให้คุณใช้แบบอักษรไอคอนของคุณเป็นแบบอักษรตัวแทนและร่างกายของคุณ (หรือแบบอักษรอื่น ๆ ) เป็นข้อความที่ป้อนจริง ขณะนี้คุณต้องระบุตัวเลือกเฉพาะของผู้ขาย

ใช้ได้ดีตราบใดที่คุณไม่จำเป็นต้องใช้ไอคอนและข้อความร่วมกันในองค์ประกอบอินพุตของคุณ หากคุณทำเช่นนั้นคุณจะต้องทนต่อข้อความตัวยึดเป็นแบบอักษรเบราว์เซอร์เริ่มต้น (serif ธรรมดาบนของฉัน) สำหรับคำ

เช่น
HTML

<p class="wrapper">
    <input class="icon" type="text" placeholder="&#61442;" />
</p>

CSS

.wrapper {
    font-family:'arial', sans-serif;
}
input.icon::-webkit-input-placeholder {
    font-family:'FontAwesome';
}

ซอกับตัวเลือกคำนำหน้าเบราว์เซอร์: http://jsfiddle.net/gA4rx/78/

โปรดทราบว่าคุณต้องกำหนดตัวเลือกเฉพาะเบราว์เซอร์แต่ละตัวเป็นกฎแยกต่างหาก หากคุณรวมพวกเขาเบราว์เซอร์จะไม่สนใจมัน


ในขณะที่มันเป็นทางออกที่สง่างาม แต่ก็ไม่บรรลุผลตามที่คาดหวัง
Olivier Refalo

แท้จริงแล้วดูเหมือนว่าเบราว์เซอร์ Webkit เป็นสิ่งเดียวที่ยอมรับfont-familyสำหรับตัวเลือกนี้ในเวลานี้ เราหวังเพียงว่าจะได้รับการยอมรับอย่างกว้างขวางในอนาคต
harryg

5

ฉันพบวิธีที่ง่ายที่สุดโดยใช้ bootstrap 4

<div class="input-group mb-3">
    <div class="input-group-prepend">
    <span class="input-group-text"><i class="fa fa-user"></i></span></div>
    <input type="text"/>
</div>

2

ฉันทำสิ่งนี้สำเร็จ

  form i {
    left: -25px;
    top: 23px;
    border: none;
    position: relative;
    padding: 0;
    margin: 0;
    float: left;
    color: #29a038;
  }
<form>

  <i class="fa fa-link"></i>

  <div class="form-group string optional profile_website">
    <input class="string optional form-control" placeholder="http://your-website.com" type="text" name="profile[website]" id="profile_website">
  </div>

  <i class="fa fa-facebook"></i>
  <div class="form-group url optional profile_facebook_url">
    <input class="string url optional form-control" placeholder="http://facebook.com/your-account" type="url" name="profile[facebook_url]" id="profile_facebook_url">
  </div>

  <i class="fa fa-twitter"></i>
  <div class="form-group url optional profile_twitter_url">
    <input class="string url optional form-control" placeholder="http://twitter.com/your-account" type="url" name="profile[twitter_url]" id="profile_twitter_url">
  </div>

  <i class="fa fa-instagram"></i>
  <div class="form-group url optional profile_instagram_url">
    <input class="string url optional form-control" placeholder="http://instagram.com/your-account" type="url" name="profile[instagram_url]" id="profile_instagram_url">
  </div>

  <input type="submit" name="commit" value="Add profile">
</form>

ผลลัพธ์จะเป็นดังนี้:

ผลลัพธ์

ข้อความด้านข้าง

โปรดทราบว่าฉันกำลังใช้ Ruby on Rails เพื่อให้โค้ดผลลัพธ์ของฉันดูออกมาเล็กน้อย โค้ดมุมมองแบบเพรียวบางรัดกุมมาก:

i.fa.fa-link
= f.input :website, label: false

i.fa.fa-facebook
= f.input :facebook_url, label: false

i.fa.fa-twitter
= f.input :twitter_url, label: false

i.fa.fa-instagram
= f.input :instagram_url, label: false

2

สำหรับฉันวิธีที่ง่ายที่จะมีไอคอน "ภายใน" การป้อนข้อความโดยไม่ต้องลองใช้องค์ประกอบปลอมกับยูนิโค้ดตัวอักษรที่น่ากลัว ฯลฯ คือการใส่ข้อความและไอคอนภายในองค์ประกอบแรปเปอร์ซึ่งเราจะวางตำแหน่งสัมพัทธ์ แล้ววางตำแหน่งทั้งอินพุตการค้นหาและไอคอนสุดยอดเยี่ยมแบบอักษร

เช่นเดียวกับที่เราทำกับภาพพื้นหลังและข้อความเราจะทำที่นี่ ฉันรู้สึกว่านี่เป็นสิ่งที่ดีสำหรับผู้เริ่มต้นเช่นกันเนื่องจากการวางตำแหน่ง CSS เป็นสิ่งที่ผู้เริ่มต้นควรเรียนรู้ในช่วงเริ่มต้นของการเข้ารหัสเพื่อให้โค้ดเข้าใจง่ายและนำกลับมาใช้ใหม่

    <div class="searchbar-wrapper">
      <i class="fa fa-search searchbar-i" aria-hidden="true"></i>
      <input class="searchbar-input" type="search" placeholder="Search...">
    </div>

    .searchbar-wrapper{
      position:relative;
    }

    .searchbar-i{
      position:absolute;
      top: 50%;
      transform: translateY(-50%);
      padding: 0 .5rem;
    }

    .searchbar-input{
      padding-left: 2rem;
    }

1

สร้างตามคำแนะนำ allcaps ต่อไปนี้เป็นวิธีพื้นหลังแบบอักษรสุดยอดที่มี HTML น้อยที่สุด:

<div class="wrapper"><input></div>

.wrapper {
    position: relative; 
}

input { padding-left: 20px; }

.wrapper:before {
    font-family: 'FontAwesome';
    position: absolute;
    top: 2px;
    left: 3px;
    content: "\f007";
}

1

ทำให้ไอคอนคลิกได้เพื่อมุ่งเน้นภายในองค์ประกอบการป้อนข้อความ

CSS

.myClass {
    font-size:20px;
    position:absolute; top:10px; left:10px;
}

HTML

<div>
    <label style="position:relative;">
         <i class="myClass fa fa-address-book-o"></i>
         <input class="w3-input" type="text" style="padding-left:40px;">
    </label>
</div>

เพียงเพิ่มไอคอนใดก็ได้ที่คุณชอบภายใน<i>แท็กจากไลบรารี Font Awesome แล้วเพลิดเพลินไปกับผลลัพธ์


0
<HTML>
<head>
<style>
.inp1{
color:#2E64FE;
width:350px;
height:35px;
border:solid;
font-size:20px;
text-align:left;
}
</style>
</head>

<body>

<div class="inp1">          
<a href="#" class=""><i class="fa fa-search"></i></a>
</div>

2
มันจะมีประโยชน์มากขึ้นสำหรับ OP ถ้าคุณโพสต์คำอธิบายบางอย่างเกี่ยวกับสิ่งที่บล็อคโค้ดนี้กำลังทำอยู่!
Kim

0

CSS ล้วนๆ

input[type=search] {
    min-width: 320px;
    height: 24px;
    border: 1px solid #E6E6E6;
    border-radius: 8px;
    margin-top: 6px;
    background-image: url('/img/search.png');
    background-size: 16px;
    background-position: 280px;
    background-repeat: no-repeat;
}

1
คุณช่วยอธิบายคำตอบของคุณได้ไหม
E. Zeytinci

0

วิธีแก้ปัญหาของฉันคือมีคอนเทนเนอร์สัมพัทธ์รอบ ๆinputเพื่อถือไอคอน คอนเทนเนอร์ด้านนอกนั้น::afterมีไอคอนที่ต้องการวางไว้absoluteภายในคอนเทนเนอร์

HTML:

<div class="button__outer">
    <input type="submit" class="button" value="Send"/>
</div>

รหัส SASS:

.button {
 display: inline-block;
 width: auto;
 height: 60px;
 line-height: 60px;
}

.button__outer {
    position: relative;
    display: inline-block;
    width: auto;

    &::after {
       position: absolute;
       right: 0;
       top: 0;
       height: 60px;
       line-height: 60px;
       width: 60px;
       font-family: 'FontAwesome', sans-serif;
       content: "\f054";
       color: #fff;
       font-size: 27px;
       font-weight: 700;
    }
}

0

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

<style>
body {font-family: Arial, Helvetica, sans-serif;}
* {box-sizing: border-box;}
.soft-codeon {
  display: -ms-flexbox; /* IE10 */
  display: flex;
  width: 50%;
  margin-bottom: 15px;
}

.icon {
  padding: 10px;
  background: linear-gradient(to right, #ec008c, #fc6767); 
  color: white;
  min-width: 20px;
  text-align: center;
}
.soft-field {
  width: 100%;
  padding: 10px;
  outline: none;
  border:2px solid #fc6767;
}
.soft-field:focus {
  border: 2px solid #ec008c;
}
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
  <div class="soft-codeon">
    <i class="fa fa-user icon"></i>
    <input class="soft-field" type="text" placeholder="Username" name="usrnm">
  </div>
  <div class="soft-codeon">
    <i class="fa fa-envelope icon"></i>
    <input class="soft-field" type="text" placeholder="Email" name="email">
  </div>


2
คำตอบมีประโยชน์ แต่ไม่อนุญาตให้ใช้ประโยคที่เป็นสแปม หากคุณต้องการมีอะไรเช่นนั้นคุณสามารถใส่ลิงค์ในโปรไฟล์ของคุณ
Makyen

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

0

บางครั้งไอคอนจะไม่ปรากฏขึ้นเนื่องจากรุ่น Font Awesome สำหรับเวอร์ชัน 5 css ควรเป็น

.dropdown-wrapper::after {
     content: "\f078";
     font-family: 'Font Awesome 5 Free';
     font-weight: 900;
     color: #000;
     position: absolute;
     right: 6px;
     top: 10px;
     z-index: 1;
     width: 10%;
     height: 100%;
     pointer-events: none;
}

0

วิธีง่ายๆ แต่คุณต้องการ bootstrap

 <div class="input-group mb-3">
    <div class="input-group-prepend">
      <span class="input-group-text"><i class="fa fa-envelope"></i></span> <!-- icon envelope "class="fa fa-envelope""-->
    </div>
    <input type="email" id="senha_nova" placeholder="Email">
  </div><!-- input-group -->

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


-1
::-webkit-search-cancel-button {
        height: 10px;
        width: 10px;
        display: inline-block;
        /*background-color: #0e1d3033;*/
        content: "&#f00d;";
        font-family: FontAwesome;
        font-weight: 900;
        -webkit-appearance: searchfield-cancel-button !important;
    }
    input#searchInput {
        -webkit-appearance: searchfield !important;
    }

<input data-type="search" type="search" id="searchInput" class="form-control">

-3

ฉันลองสิ่งต่าง ๆ ด้านล่างและใช้งานได้ดีกับ HTML

input.hai {
    width: 450px;
    padding-left: 25px;
    margin: 15px;
    height: 25px;
    background-image: url('https://cdn4.iconfinder.com/data/icons/casual-events-and-opinions/256/User-512.png') ;
    background-size: 20px 20px;
    background-repeat: no-repeat;
    background-position: left;
    background-color: grey;
}
<div >

    <input class="hai" placeholder="Search term">

</div>


1
คำถามเกี่ยวกับการใช้ไอคอนตัวอักษรที่น่ากลัว
gaitat

-5

ที่จะทำงานนี้กับ Unicode หรือ fontawesome คุณควรเพิ่มspanด้วยclassเช่นด้านล่าง:

ใน HTML:

<span class="button1 search"></span>
<input name="username">

ใน CSS:

.button1 {
    background-color: #B9D5AD;
    border-radius: 0.2em 0 0 0.2em;
    box-shadow: 1px 0 0 rgba(0, 0, 0, 0.5), 2px 0 0 rgba(255, 255, 255, 0.5); 
    pointer-events: none;
    margin:1px 12px;    
    border-radius: 0.2em;    
    color: #333333;
    cursor: pointer;
    position: absolute;
    padding: 3px;
    text-decoration: none;           
}

1
สิ่งนี้จะไม่ใส่ไอคอนในการป้อนข้อความ
Gianfranco P.

-9
<!doctype html>
<html>
  <head>
    ## Heading ##
    <meta charset="utf-8">
      <title>
        Untitled Document
      </title>
      </head>
      <style>
        li {
          display: block;
          width: auto;
        }
        ul li> ul li {
          float: left;
        }
        ul li> ul {
          display: none;
          position: absolute;
        }
        li:hover > ul {
          display: block;
          margin-left: 148px;
          display: inline;
          margin-top: -52px;
        }
        a {
          background: #f2f2ea;
          display: block;
          /*padding:10px 5px;
          */
          width: 186px;
          height: 50px;
          border: solid 2px #c2c2c2;
          border-bottom: none;
          text-decoration: none;
        }
        li:hover >a {
          background: #ffffff;
        }
        ul li>li:hover {
          margin: 12px auto 0px auto;
          padding-top: 10px;
          width: 0;
          height: 0;
          border-top: 8px solid #c2c2c2;
        }
        .bottom {
          border-bottom: solid 2px #c2c2c2;
        }
        .sub_m {
          border-bottom: solid 2px #c2c2c2;
        }
        .sub_m2 {
          border-left: none;
          border-right: none;
          border-bottom: solid 2px #c2c2c2;
        }
        li.selected {
          background: #6D0070;
        }
        #menu_content {
          /*float:left;
          */

        }
        .ca-main {
          padding-top: 18px;
          margin: 0;
          color: #34495e;
          font-size: 18px;
        }
        .ca-sub {
          padding-top: 18px;
          margin: 0px 20px;
          color: #34495e;
          font-size: 18px;
        }
        .submenu a {
          width: auto;
        }
        h2 {
          text-align: center;
        }
      </style>
      <body>
        <ul>
          <li>
            <a href="#">
              <div id="menu_content">
                <h2 class="ca-main">
                  Item 1
                </h2>
              </div>
            </a>
            <ul class="submenu" >
              <li>
                <a href="#" class="sub_m">
                  <div id="menu_content">
                    <h2 class="ca-sub">
                      Item 1_1
                    </h2>
                  </div>
                </a>
              </li>
              <li>

                <a href="#" class="sub_m2">
                  <div id="menu_content">
                    <h2 class="ca-sub">
                      Item 1_2
                    </h2>
                  </div>
                </a>
              </li>
              <li >

                <a href="#" class="sub_m">
                  <div id="menu_content">
                    <h2 class="ca-sub">
                      Item 1_3
                    </h2>
                  </div>
                </a>

              </li>
            </ul>
          </li>
          <li>

            <a href="#">
              <div id="menu_content">
                <h2 class="ca-main">
                  Item 2
                </h2>
              </div>
            </a>
          </li>
          <li>

            <a href="#">
              <div id="menu_content">
                <h2 class="ca-main">
                  Item 3
                </h2>
              </div>
            </a>

          </li>
          <li>

            <a href="#"  class="bottom">
              <div id="menu_content">
                <h2 class="ca-main">
                  Item 4
                </h2>
              </div>
            </a>

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