textarea
ฉันต้องการที่จะปิดการใช้งานปรับขนาดได้ทรัพย์สินของ
ขณะนี้ฉันสามารถปรับขนาดได้textarea
โดยคลิกที่มุมล่างขวาของtextarea
และลากเมาส์ ฉันจะสามารถปิดการใช้งานนี้หรือไม่?
textarea
ฉันต้องการที่จะปิดการใช้งานปรับขนาดได้ทรัพย์สินของ
ขณะนี้ฉันสามารถปรับขนาดได้textarea
โดยคลิกที่มุมล่างขวาของtextarea
และลากเมาส์ ฉันจะสามารถปิดการใช้งานนี้หรือไม่?
คำตอบ:
กฎ CSS ต่อไปนี้ปิดใช้งานพฤติกรรมการปรับขนาดสำหรับtextarea
องค์ประกอบ:
textarea {
resize: none;
}
ปิดการใช้งานสำหรับบางคน ( แต่ไม่ใช่ทั้งหมด) textarea
s มีสองตัวเลือก
เพื่อปิดการใช้งานที่เฉพาะเจาะจงtextarea
กับname
ชุดแอตทริบิวต์foo
(คือ<textarea name="foo"></textarea>
):
textarea[name=foo] {
resize: none;
}
หรือใช้id
แอตทริบิวต์ (เช่น<textarea id="foo"></textarea>
):
#foo {
resize: none;
}
หน้า W3Cรายการค่าที่เป็นไปได้สำหรับการปรับขนาดข้อ จำกัด : ไม่มีทั้งแนวนอนแนวตั้งและสืบทอด:
textarea {
resize: vertical; /* user can resize vertically, but width is fixed */
}
ตรวจสอบหน้าความเข้ากันได้ที่เหมาะสมเพื่อดูว่าเบราว์เซอร์ใดบ้างที่สนับสนุนคุณสมบัตินี้ ตามที่ Jon Hulka แสดงความคิดเห็นขนาดนั้นสามารถยับยั้งได้อีกใน CSS โดยใช้ความกว้างสูงสุดความสูงสูงสุดความกว้างขั้นต่ำและความสูงขั้นต่ำ
สำคัญอย่างยิ่งที่จะรู้:
คุณสมบัตินี้ไม่ทำอะไรเลยเว้นแต่คุณสมบัติโอเวอร์โฟลเป็นสิ่งอื่นที่มองเห็นได้ซึ่งเป็นค่าเริ่มต้นสำหรับองค์ประกอบส่วนใหญ่ ดังนั้นโดยทั่วไปเมื่อต้องการใช้สิ่งนี้คุณจะต้องตั้งค่าบางอย่างเช่นโอเวอร์โฟลว์: เลื่อน;
อ้างอิงโดย Sara Cope, http://css-tricks.com/almanac/properties/r/resize/
ใน CSS ...
textarea {
resize: none;
}
ฉันพบสองสิ่ง:
เป็นครั้งแรก
textarea{resize: none}
นี่คือ CSS 3 ซึ่งไม่ได้รับการปล่อยตัวออกมาเลยเข้ากันได้กับFirefox 4 (และต่อมา) Chrome และ Safari
คุณสมบัติรูปแบบอื่นคือการoverflow: auto
กำจัดแถบเลื่อนด้านขวาโดยคำนึงถึงแอตทริบิวต์dir
HTML พื้นฐาน
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<textarea style="overflow:auto;resize:none" rows="13" cols="20"></textarea>
</body>
</html>
เบราว์เซอร์บางตัว
CSS 3 มีคุณสมบัติใหม่สำหรับองค์ประกอบ UI ที่จะช่วยให้คุณทำเช่นนี้ได้ สถานที่ให้บริการเป็นสถานที่ให้บริการปรับขนาด ดังนั้นคุณจะเพิ่มสิ่งต่อไปนี้ลงในสไตล์ชีทของคุณเพื่อปิดใช้งานการปรับขนาดองค์ประกอบข้อความทั้งหมด:
textarea { resize: none; }
นี่คือคุณสมบัติ CSS 3 ใช้แผนภูมิความเข้ากันได้เพื่อดูความเข้ากันได้ของเบราว์เซอร์
โดยส่วนตัวแล้วฉันจะพบว่ามันน่ารำคาญมากที่ต้องปิดการใช้งานการปรับขนาดในองค์ประกอบ textarea นี่เป็นหนึ่งในสถานการณ์ที่นักออกแบบพยายาม "หยุด" ลูกค้าของผู้ใช้ หากการออกแบบของคุณไม่สามารถรองรับ textarea ขนาดใหญ่คุณอาจต้องการพิจารณาว่าการออกแบบของคุณทำงานอย่างไร ผู้ใช้สามารถเพิ่มtextarea { resize: both !important; }
สไตล์ชีทของผู้ใช้เพื่อแทนที่การตั้งค่าของคุณ
texarea
และทำให้บางสิ่งบางอย่างไม่ทำงาน
<textarea style="resize:none" rows="10" placeholder="Enter Text" ></textarea>
หากคุณต้องการความช่วยเหลืออย่างลึกซึ้งคุณสามารถใช้เทคนิคของโรงเรียนเก่า:
textarea {
max-width: /* desired fixed width */ px;
min-width: /* desired fixed width */ px;
min-height: /* desired fixed height */ px;
max-height: /* desired fixed height */ px;
}
resize:none
กับโซลูชันนี้เพื่อป้องกันไม่ให้ที่จับปรากฏขึ้นที่มุมด้านล่างซึ่งน่าผิดหวังไม่ทำงาน
สิ่งนี้สามารถทำได้ในรูปแบบ HTML ได้อย่างง่ายดาย:
<textarea name="textinput" draggable="false"></textarea>
มันใช้งานได้สำหรับฉัน ค่าเริ่มต้นtrue
สำหรับdraggable
แอตทริบิวต์
หากต้องการปิดใช้งานคุณสมบัติการปรับขนาดใช้คุณสมบัติ CSS ต่อไปนี้:
resize: none;
คุณสามารถใช้สิ่งนี้เป็นคุณสมบัติรูปแบบอินไลน์เช่น:
<textarea style="resize: none;"></textarea>
หรือในระหว่าง<style>...</style>
แท็กองค์ประกอบเช่น:
textarea {
resize: none;
}
คุณเพียงแค่ใช้: resize: none;
ใน CSS ของคุณ
ปรับขนาดระบุคุณสมบัติหรือไม่ว่าเป็นองค์ประกอบที่ปรับขนาดได้โดยผู้ใช้
หมายเหตุ:คุณสมบัติการปรับขนาดนำไปใช้กับองค์ประกอบที่มีค่าการคำนวณมากเกินเป็นสิ่งอื่นนอกเหนือจาก "มองเห็น"
นอกจากนี้ยังปรับขนาดได้รับการสนับสนุนใน Internet Explorer ในขณะนี้
นี่คือคุณสมบัติที่แตกต่างกันสำหรับการปรับขนาด:
ไม่มีการปรับขนาด:
textarea {
resize: none;
}
ปรับขนาดทั้งสองวิธี (แนวตั้งและแนวนอน):
textarea {
resize: both;
}
ปรับขนาดในแนวตั้ง:
textarea {
resize: vertical;
}
ปรับขนาดแนวนอน:
textarea {
resize: horizontal;
}
นอกจากนี้หากคุณมีwidth
และheight
ใน CSS หรือ HTML ของคุณก็จะป้องกันไม่ให้มีการปรับขนาด textarea ของคุณด้วยการสนับสนุนเบราว์เซอร์ที่กว้างขึ้น
CSS 3 สามารถแก้ปัญหานี้ได้ น่าเสียดายที่ปัจจุบันรองรับเบราว์เซอร์ที่ใช้แล้ว 60%เท่านั้น
สำหรับ Internet Explorer และ iOS คุณไม่สามารถปิดการปรับขนาด แต่คุณสามารถ จำกัดtextarea
มิติโดยการตั้งค่าของมันและwidth
height
/* One can also turn on/off specific axis. Defaults to both on. */
textarea { resize:vertical; } /* none|horizontal|vertical|both */
คุณสามารถปิดการใช้งานคุณสมบัติtextareaเช่นนี้:
textarea {
resize: none;
}
หากต้องการปิดใช้งานการปรับขนาดแนวตั้งหรือแนวนอนให้ใช้
resize: vertical;
หรือ
resize: horizontal;
ฉันสร้างตัวอย่างเล็ก ๆ เพื่อแสดงว่าคุณสมบัติการปรับขนาดทำงานอย่างไร ฉันหวังว่ามันจะช่วยคุณและคนอื่น ๆ เช่นกัน
.resizeable {
resize: both;
}
.noResizeable {
resize: none;
}
.resizeable_V {
resize: vertical;
}
.resizeable_H {
resize: horizontal;
}
<textarea class="resizeable" rows="5" cols="20" name="resizeable" title="This is Resizable.">
This is Resizable. Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs. The passage is attributed to an unknown typesetter in the 15th century who is thought to have scrambled parts of Cicero's De Finibus Bonorum et Malorum for use in a type specimen book.
</textarea>
<textarea class="noResizeable" rows="5" title="This will not Resizable. " cols="20" name="resizeable">
This will not Resizable. Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs. The passage is attributed to an unknown typesetter in the 15th century who is thought to have scrambled parts of Cicero's De Finibus Bonorum et Malorum for use in a type specimen book.
</textarea>
<textarea class="resizeable_V" title="This is Vertically Resizable." rows="5" cols="20" name="resizeable">
This is Vertically Resizable. Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs. The passage is attributed to an unknown typesetter in the 15th century who is thought to have scrambled parts of Cicero's De Finibus Bonorum et Malorum for use in a type specimen book.
</textarea>
<textarea class="resizeable_H" title="This is Horizontally Resizable." rows="5" cols="20" name="resizeable">
This is Horizontally Resizable. Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs. The passage is attributed to an unknown typesetter in the 15th century who is thought to have scrambled parts of Cicero's De Finibus Bonorum et Malorum for use in a type specimen book.
</textarea>
ด้วยคุณสามารถให้มันขนาดที่กำหนดเองและปิดใช้งานคุณลักษณะปรับขนาด@style
(resize: none;)
@Html.TextAreaFor(model => model.YourProperty, new { @style = "width: 90%; height: 180px; resize: none;" })
คุณสามารถลองกับ jQuery ได้เช่นกัน
$('textarea').css("resize", "none");
หากต้องการปิดใช้งานการปรับขนาดสำหรับทุกรายการtextarea
:
textarea {
resize: none;
}
หากต้องการปิดใช้งานการปรับขนาดเฉพาะเจาะจงtextarea
ให้เพิ่มแอททริบิวต์name
หรือid
และตั้งเป็นบางอย่าง ในกรณีนี้มันมีชื่อnoresize
<textarea name='noresize' id='noresize'> </textarea>
/* Using the attribute name */
textarea[name=noresize] {
resize: none;
}
/* Or using the id */
#noresize {
resize: none;
}
การเพิ่ม!important
ทำให้มันทำงาน:
width:325px !important; height:120px !important; outline:none !important;
outline
เพียงเพื่อหลีกเลี่ยงโครงร่างสีน้ำเงินบนเบราว์เซอร์บางตัว
!important
แอตทริบิวต์ที่ไม่เหมาะสม ไม่มีความหมายในการแก้ไขความกว้างและความสูงหากแอตทริบิวต์ CSS resize: none
สามารถลบคุณลักษณะการปรับขนาดได้
!important
ความชั่วร้าย?