มีทางเลือกอื่นสำหรับ CSS หรือไม่?


89

มีภาษาจัดรูปแบบสไตล์ชีตแทน CSS หรือไม่? หรือ CSS เป็นภาษาเดียวในปัจจุบันสำหรับการจัดรูปแบบ Style Sheet หรือไม่?

ฉันดูการเขียน CSS บน Wikipedia ( http://en.wikipedia.org/wiki/Cascading_Style_Sheets ) และความคิดเห็นอื่น ๆ เกี่ยวกับ CSS และรู้สึกท้อแท้เกี่ยวกับการขาดการสนับสนุน CSS อย่างเต็มที่ในเครื่องมือเค้าโครงต่างๆ ฉันแค่อยากรู้ว่ามีทางเลือกอื่นหรือไม่หรือต้องเรียนรู้ที่จะใช้ฟิลเตอร์ CSS ด้วย

ขอบคุณสำหรับข้อมูลเชิงลึก


10
CSS ถ้าดี * มันคือ IE ที่เสีย (* CWG ยกเว้น)
annakata

75
หากมีเพียงทางเลือกอื่น ... ฉันก็กลัวที่จะนึกถึงจำนวนความพยายามของมนุษย์ที่เสียไปกับการพยายามทำสิ่งต่างๆใน CSS ซึ่งควรจะเรียบง่าย แต่ไม่ใช่ ...
PeterAllenWebb

8
ที่ตลกคือคุณต้องพิมพ์ style = "text / css" ในแท็กที่เกี่ยวข้องกับสไตล์ ... :)

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

1
CSS มีการเปิดเผยเนื่องจากเว็บเป็นของเหลว (ผู้ใช้บนจอภาพขนาดใหญ่แล็ปท็อปสมาร์ทโฟนหรือโปรแกรมอ่านหน้าจอหรือไม่) ดังนั้นนักออกแบบกราฟิกจึงไม่สามารถใช้เทคนิคที่พวกเขาคุ้นเคยเช่น Photoshop โดยที่ ขนาดผ้าใบอยู่ภายใต้การควบคุมของพวกเขา ในทำนองเดียวกันเนื่องจากตัวแทนผู้ใช้ที่แตกต่างกันแสดงผลแตกต่างกันคุณต้องพูดว่า "นี่คือสิ่งที่ฉันต้องการ" แทนที่จะเป็น "นี่คือวิธีการทำ" เช่นเดียวกับโปรแกรมเมอร์คอมพิวเตอร์ ไม่ได้หมายความว่า CSS ไม่สามารถใช้การปรับปรุงได้มากและใช้งานง่ายขึ้น เพียงแค่ว่ามันต้องมีลักษณะที่แตกต่างจากที่ทั้งนักออกแบบและนักเขียนโค้ดคุ้นเคย
Canuck

คำตอบ:


64

CSS เป็นตัวเลือกเดียวที่แท้จริง

การสนับสนุนเบราว์เซอร์สำหรับ CSS ไม่ควรเป็นปัญหาหลัก (ในกรณีส่วนใหญ่) เมื่อคุณเรียนรู้รายละเอียดของ CSS กุญแจสำคัญในการทำความเข้าใจเกี่ยวกับ CSS คือจุดประสงค์คือการกำหนดรูปแบบของเอกสาร HTML และควรแยกออกจากเนื้อหา

คุณจะต้องฝึกฝนในการเรียนรู้วิธีทำให้สิ่งต่างๆลดลงอย่างสง่างามในเบราว์เซอร์ที่ไม่รองรับคุณสมบัติต่างๆ แนวคิดพื้นฐานในที่นี้คือคุณควรทำให้ตัวส่วนร่วมที่ต่ำที่สุด (โดยทั่วไปของ Internet Explorer) ทำงานได้ "ดีพอ" โดยที่จะไม่นำไปจากประสบการณ์ของผู้ใช้และมอบสิ่งที่ดีให้กับผู้ใช้ด้วยเบราว์เซอร์ที่ดีขึ้น นอกจากนี้อย่าพัฒนาสำหรับ Internet Explorer ก่อน ทิ้งไว้จนสุดท้ายแล้วแก้ไขจุดบกพร่อง การทำสิ่งอื่น ๆ (IE ก่อน) นั้นยากกว่ามาก

คุณยังมีตัวเลือกในการใช้ JavaScript เพื่อกำหนดสไตล์ แต่ไม่แนะนำให้ใช้เนื่องจากคุณควรหลีกเลี่ยงการใช้สไตล์ภายใน JavaScript เนื่องจาก JavaScript มีไว้สำหรับตรรกะไม่ใช่สไตล์

มีส่วนประกอบ 3 อย่าง (ขึ้นอยู่กับว่าคุณดูอย่างไร) ในหน้าเว็บ:

  • HTML - สำหรับเนื้อหา
  • CSS - สำหรับจัดรูปแบบเนื้อหาของคุณ
  • JavaScript - สำหรับการใช้ตรรกะเพิ่มเติมหรือแบบไดนามิกกับเนื้อหาของคุณ

19
บรรทัดสำคัญในนั้นคือประโยคที่สอง: "การรองรับเบราว์เซอร์สำหรับ CSS ไม่ควรเป็นปัญหาหลัก (ในกรณีส่วนใหญ่) เมื่อคุณเรียนรู้รายละเอียดของ CSS" คนที่บ่นมากที่สุดเกี่ยวกับการเสีย CSS รู้เรื่องนี้น้อยที่สุด
Rob Allen

1
+1: ... สำหรับคำตอบที่ดีเยี่ยม ข้อเสนอแนะในการเขียนโค้ดเป็นมาตรฐานก่อนแล้วจึงแก้ไขข้อบกพร่องในเอ็นจิ้นการเรนเดอร์ที่น่าเบื่อของ IE เป็นวิธีที่แน่นอน
Jon Cage

เมื่อคุณรู้จัก CSS เป็นอย่างดี IE7 จะทำงานได้ค่อนข้างดี @ ร็อบ: ได้ยินได้ยิน +1
Ryan Florence

1
การสร้างแอปพลิเคชันด้วย css เป็นการทรมานอย่างแท้จริงสำหรับนักพัฒนาแอป อย่างไรก็ตามยกเว้น Cappuccino.org มีความพยายามเพียงเล็กน้อยในการแก้ปัญหาที่ชัดเจนนี้ มีข่าวลือว่า xcode จะผลิต html5 เร็ว ๆ นี้หากเป็นเช่นนั้นมันจะยุติความโกลาหลนี้ไม่ใช่เพราะ xcode ดีที่สุดมันจะแนะนำให้คนอื่นใช้ SDK สำหรับเว็บและเบราว์เซอร์จะมาพร้อมกับส่วนประกอบ UI ( พวกเขาจะยังคงใช้ css & html เพื่อแสดง แต่ใครจะสนเราจะไม่เห็น / ใช้ / รู้ / เรียนรู้)
Devrim

3
@RobAllen ฉันพูดในสิ่งเดียวกันกับ Malbolge ภาษาโปรแกรมที่ฉันชอบ คนที่คิดว่ามันเป็นไปไม่ได้ก็ไม่รู้ดีพอที่จะตระหนักว่ามันยอดเยี่ยมแค่ไหน
AR

71

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

แม้ว่า CSS3 จะนำมาใช้ข้ามเบราว์เซอร์ แต่ฉันเชื่อว่าวิธี CSS ในการจัดวางสิ่งต่างๆ (กล่องอินไลน์ลอยระยะขอบ ฯลฯ ) นั้นแย่มาก ฉันเป็นโปรแกรมเมอร์ แต่พ่อของฉันเป็นนักออกแบบกราฟิกและฉันค่อนข้างมั่นใจว่าซอฟต์แวร์เลย์เอาต์ที่พวกเขาใช้มา 20 ปีนั้นง่ายกว่าและก้าวหน้ากว่า CSS ในบางแง่มุม


9
เป๊ะ! CSS และเวิร์กโฟลว์ทางปัญญาของเค้าโครงกราฟิกไม่ได้อยู่ในระดับนามธรรมเดียวกัน
Alex

6
IMHO คำตอบนี้ถูกจัดอันดับต่ำมากแม้ในปี 2015
Abhinav Gauniyal

13
"พ่อของฉันเป็นผู้จัดพิมพ์และนักออกแบบกราฟิกและฉันได้อาบน้ำให้กับการออกแบบกราฟิกตั้งแต่อายุยังน้อยที่สุดและฉันกล้าพูดได้ว่าซอฟต์แวร์การเผยแพร่ที่พวกเขาใช้เมื่อ 20 ปีก่อนนั้นก้าวหน้าและใช้งานง่ายกว่า HTML / CSS ในปัจจุบัน" ... ความแตกต่างก็คือพ่อของคุณไม่ได้ออกแบบมาสำหรับขนาดหน้าจอโปรแกรมอ่านหน้าจอเบราว์เซอร์เวอร์ชันต่างๆ (มีความสามารถที่แตกต่างกัน) ฯลฯ การออกแบบสำหรับการพิมพ์นั้นง่ายกว่าการออกแบบสำหรับการแสดงผลบนหน้าจอมากดังนั้น CSS จึง ซับซ้อนกว่าภาษาที่ออกแบบมาเพื่อจัดวางสื่อสิ่งพิมพ์
J. Taylor

1
ฉันแนะนำ Postscript เป็นภาษาและ PDF เป็นพาหนะในการจัดส่ง ฉันถูกทุบตีและลงคะแนนแบบหนืด ๆ Droids บน SO ไม่ชอบความคิดเห็น
ATL_DEV

1
@J เทย์เลอร์แพ้มันจะใช่ การออกแบบโดยใช้สื่อใด ๆ ไม่ใช่เรื่องง่าย มันเป็นทักษะศิลปะและวิทยาศาสตร์เช่นเดียวกับการเขียน CSS และ HTML กรุณาเคารพศิลปะ Postscript ได้รับการออกแบบมาเพื่อรองรับสื่อขนาดต่างๆและมีมานานหลายทศวรรษแล้ว จุดรวมของ HTML และ CSS คือการทำให้เว็บเบราว์เซอร์แสดงสิ่งที่ Postscript ทำตามค่าเริ่มต้น HTML และ CSS แย่มาก!
ATL_DEV

42

ใช่แล้วมันเรียกว่าLESSและมันตอบสนองปัญหาการอ่านโค้ดของ CSS ส่วนใหญ่

คุณทั้งสองสามารถรวบรวมไว้บนเซิร์ฟเวอร์หรือบน-the-fly ฝั่งไคลเอ็นต์กับless.js

สำหรับการผลิตฉันขอแนะนำให้ตั้งค่า build script ที่คอมไพล์ (ในNodeJSนี่คือเค้กที่มีGruntและgrunt-Contrib-less )


แก้ไข:นอกจากนี้ยังมีตัวเลือกอื่น ๆ ที่ควรกล่าวถึงแม้ว่าฉันจะใช้และแนะนำ LESS ก็ตาม

SASS : คนทับทิมชอบอันนี้ ไม่ใช่ชุด CSS ขั้นสูงเช่น LESS แต่ใช้ไวยากรณ์ของตัวเองแทน เพื่อรับมือกับสิ่งนี้พวกเขาได้พัฒนา SCSS ซึ่งเป็น CSS super-set และคล้ายกับ LESS

สไตลัส : เช่น LESS มันถูกเข้ารหัสในจาวาสคริปต์ แต่มักใช้จาก Node.js ฉันไม่สามารถรับรองได้เนื่องจากฉันยังไม่ได้ลองใช้ แต่มันเป็นผู้ใหญ่มากดังนั้นหากมีคุณสมบัติที่คุณต้องการก็ไปหามันอย่างแน่นอน

Turbine : อันนี้ถูกเข้ารหัสด้วย PHP แรงฉุดไม่มาก.

เปลี่ยน CSS : บางทีแฮกเกอร์ Python อาจต้องการตรวจสอบสิ่งนี้ แรงดึงแม้แต่น้อย

ถ้าคุณรู้สึกแม้ทางเลือกอื่น ๆ อีกมากมายนอกจากนี้ยังมีCSS Cacheer , CSScaffold , DtCSS , CSSPPและแม้กระทั่งบางสิ่งบางอย่างโดยporneL


สิ่งอื่น ๆ ที่คุณอาจต้องการตรวจสอบ:

เข็มทิศ : กรอบการเขียน CSS แบบเต็มสำหรับพวก Ruby

WinLESS : คอมไพเลอร์ลากและวาง LESS สำหรับ Windows มันยอดเยี่ยมมากและคุณควรลองดู

LESS Elements , Preboot , LESSHatและ even.less : ไลบรารีของ mixins และค่าคงที่สำหรับ LESS

Bootstrap : เฟรมเวิร์กที่พัฒนาโดย Twitter นอกจากนี้ยังเกี่ยวข้องกับ HTML5 Boilerplate

Normalize.css : ทางเลือกในการรีเซ็ต CSS อย่างไรก็ตามมีการรีเซ็ตหลายครั้งในฐานะผู้พัฒนาฉันต้องบอกว่าส่วนใหญ่เป็นเรื่องไร้สาระ ถ้าไม่อยากทำเองก็ใช้อันนี้


อัปเดต : ตั้งแต่ 1.4 LESS ก็มี@extendเช่นกัน อย่าลืมใช้ 1.4+ ถ้าเป็นไปได้! นี่เป็นเหตุผลที่สมบูรณ์ในการเลือก LESS มากกว่า SASS ที่ฉันคิด


27
น่าเสียดายที่ดูเหมือนจะไม่ใช่ทางเลือกอื่นสำหรับรุ่นนี้
n611x007

1
@naxa แล้วทำไมถึงต้องการแบบนั้น? โมเดลนี้ยอดเยี่ยมมาก (สไตล์ชีท) การใช้งานแย่มาก (CSS) เครื่องมือเหล่านี้จัดการกับการใช้งานเท่านั้นซึ่งเป็นเหตุผลว่าทำไมจึงได้รับความนิยม
Camilo Martin

3
เนื่องจากการแข่งขันช่วยให้ก้าวหน้า "สไตล์ชีท" หมายความว่าอย่างไร ฉันเชื่อมโยงกับไฟล์ / ส่วนที่เรียงซ้อนและแตกต่างจากข้อความ แต่มีมากกว่านั้นคือรูปแบบกล่องโดยใช้ป้ายกำกับและคอนเทนเนอร์ที่รวมเข้ากับข้อความ (พร้อม html) มีการใช้งาน [ใน] การพึ่งพาหรือไม่? - เช่น. สไตล์ชีทสามารถใช้กับอะไรก็ได้ยกเว้น html / xml? (จะเกิดอะไรขึ้นถ้าคุณเขียนสไตล์ชีตและไม่ต้องการนำไปใช้กับข้อความที่ไม่ใช้ gt / lt หรือในรูปแบบไบนารีคุณจะนำการใช้งานสไตล์ชีทมาใช้ซ้ำหรือไม่หรือทำด้วยตัวเองในไวลด์)
n611x007

@naxa สิ่งที่ฉันหมายถึงคือแนวคิดของการแยกสไตล์ออกจากเนื้อหาเป็นรูปแบบที่ยอดเยี่ยมซึ่งฉันเรียกว่า และโดยการใช้งานฉันหมายถึงไวยากรณ์ CSS แต่ฉันยอมรับว่าการมี LESS แทน CSS ก็เหมือนกับการใช้ CoffeeScript แทน Javascript และมีรูปแบบมาร์กอัปไบนารีดังนั้นฉันจึงไม่เห็นว่าทำไมคุณถึงไม่มีสไตล์ชีตไบนารี แต่ถ้าคุณคิดเกี่ยวกับมันอาจจะไม่พบชื่อนั้นเนื่องจากสไตล์ชีตแก้ปัญหาของมนุษย์ได้ (สไตล์การเขียน สำหรับเอกสารจำนวนมาก) ไม่ใช่ปัญหาเกี่ยวกับเครื่อง (หรือเรายังคงใช้<FONT>แท็กอยู่)
Camilo Martin

5
ฉันลงคะแนนเนื่องจากเป็นตัวประมวลผลล่วงหน้าไม่ใช่ทางเลือกอื่น พวกเขาวางอยู่ด้านบนของ CSS และเอาต์พุต CSS ในตอนท้าย ดังนั้นจึงเป็นเพียงหนึ่งระดับนามธรรมที่สูงขึ้น - แต่ไม่ใช่ทางเลือกอื่น
ProblemsOfSumit

17

ใช่.

อย่างที่ใคร ๆ พูดกัน CSS เป็นตัวเลือกเดียวที่แท้จริงของคุณ แต่มีอีกภาษาหนึ่งสำหรับ "สไตล์ชีตการจัดรูปแบบสิ่งต่างๆ"บนเว็บที่เรียกว่า eXtensible Stylesheet Language (XSL) โดยเฉพาะส่วนย่อยของข้อมูลจำเพาะที่กลายเป็นที่รู้จักในชื่อXSL-FO (การจัดรูปแบบวัตถุ)

เมื่อถึงจุดหนึ่งขึ้นอยู่กับคนที่คุณถามมันก็มีจุดมุ่งหมายเพื่อการแข่งขันหรือการทำงานร่วมกันกับ CSS


1
W3C มีบทสรุปที่ดีเกี่ยวกับความสัมพันธ์ระหว่าง XSL และ CSS: w3.org/Style/CSS-vs-XSL
Patrick McElhaney


7

CSS แบบกระจายกว้างไม่ได้รับการสนับสนุนอย่างเต็มที่ในทุกเบราว์เซอร์ ... ทางเลือกอื่น (ไม่ทราบ) จะบรรลุเป้าหมายนี้อย่างไร


3
ด้วยการมีรูปแบบเค้าโครงที่คาดเดาได้ใช้งานง่ายและแก้ไขปัญหาในเวอร์ชันใหม่แทนที่จะปล่อยทิ้งไว้ในข้อผิดพลาด
AR

7

CSS 2.1 รองรับได้ดีเกือบทุกเบราว์เซอร์ (ยกเว้น IE6) เป็นเรื่องง่ายที่จะเขียน CSS ที่ลดระดับลงอย่างสวยงามเมื่อคุณทราบชุดย่อยที่ปลอดภัยแล้ว (เพื่อให้แม้เบราว์เซอร์ที่ไม่รองรับจะไม่ทำให้หน้ายุ่งโดยสิ้นเชิง)

ดูhttp://www.quirksmode.orgสำหรับคำแนะนำเกี่ยวกับความเข้ากันได้ของเบราว์เซอร์ CSS


4
+1 สำหรับ quirksmode - ผู้ใช้ทุกคนที่เริ่มต้นด้วย CSS จำเป็นต้องรู้เกี่ยวกับสิ่งนั้น ฉันจะเพิ่มว่า IE7 ก็ค่อนข้างแย่กับ CSS2 เช่นกันและน่าเสียดายที่เว็บส่วนใหญ่ (และเครือข่ายองค์กรเกือบทั้งหมด) เป็น IEs 6 และ 7 เท่านั้นดังนั้นคุณต้องระวัง CSS2
Keith


6

รู้สึกท้อแท้เกี่ยวกับการขาดการสนับสนุนอย่างเต็มที่สำหรับ CSS ในเครื่องมือเค้าโครงต่างๆ

ฉันคิดว่า jQuery มีบางวิธีในการทำให้ css เข้ากันได้กับทุกเบราว์เซอร์เช่นหากคุณระบุแอตทริบิวต์บางอย่างโดยใช้ jQuery ก็จะพยายามใช้วิธีแก้ไขปัญหาสำหรับเบราว์เซอร์ที่ไม่รองรับคุณสมบัติบางอย่าง

นอกจากนี้ยังมีโครงการชื่อCleverCSSคุณอาจต้องการตรวจสอบ มันไม่ใช่ทางเลือกอื่น แต่เป็นวิธีที่แตกต่างกันเล็กน้อยในการกำหนด


แต่น่าเสียดายที่การเชื่อมโยงจะตาย .. :-(
สิงหาคม

4

ฉันดูการเขียน CSS บน Wikipedia ( http://en.wikipedia.org/wiki/Cascading_Style_Sheets ) และความคิดเห็นอื่น ๆ เกี่ยวกับ CSS และรู้สึกท้อแท้เกี่ยวกับการขาดการสนับสนุน CSS อย่างเต็มที่ในเครื่องมือเค้าโครงต่างๆ ฉันแค่อยากรู้ว่ามีทางเลือกอื่นหรือไม่หรือต้องเรียนรู้ที่จะใช้ฟิลเตอร์ CSS ด้วย

CSS เป็นมาตรฐาน ไม่มีทางเลือกอื่น

เบราว์เซอร์ทั้งหมดรองรับคุณสมบัติพื้นฐานของ CSS เวอร์ชันใหม่ของเบราว์เซอร์หลัก (สี่?) แต่ละรุ่นมาพร้อมกับการสนับสนุนที่เพิ่มขึ้นสำหรับมาตรฐาน แต่เว็บไซต์ที่ใช้คุณลักษณะเหล่านี้จะไม่สามารถใช้ได้กับผู้ใช้ทุกคนในเวอร์ชันก่อนหน้า มีสองคำตอบสำหรับสิ่งนี้:

  1. "การย่อยสลายอย่างสง่างาม" (หรือคู่แฝด "การเพิ่มประสิทธิภาพแบบก้าวหน้า" - google it) ซึ่งหน้านี้จะใช้ประโยชน์จากคุณลักษณะขั้นสูงหากมีให้ใช้งานในขณะที่ยังคงใช้งานได้ต่อไปหากไม่มี

  2. กลุ่มเป้าหมายของคุณคือใคร? หากคุณโชคดีพอที่จะรู้ว่า 99.8% ของผู้เยี่ยมชมเว็บไซต์ของคุณกำลังใช้ IE7 เป็นอย่างน้อยคุณก็ไม่จำเป็นต้องกังวลเกี่ยวกับคุณสมบัติ CSS ที่ใช้งานไม่ได้ใน IE6 ทั้งนี้ขึ้นอยู่กับธุรกิจของคุณเองดังนั้นโปรดตรวจสอบข้อเท็จจริงก่อน

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


4

อีกทางเลือกหนึ่งเมื่อนานมาแล้ว JavaScript Style Sheets (JSSS) เป็นเทคโนโลยีภาษาสไตล์ชีทที่เสนอโดย Netscape หากใครสนใจฉันจะส่งลิงค์ให้คุณ http://en.wikipedia.org/wiki/JavaScript_Style_Sheets

นี่คือข้อเสนอ http://www.w3.org/Submission/1996/1/WD-jsss-960822 ฉันคิดว่านี่เป็นความคิดที่ดี แต่น่าเสียดายที่ css ชนะ แต่อาจมีบางส่วนที่รวมเข้ากับจาวาสคริปต์ ??

นอกจากนี้แทนที่จะใช้ css คุณสามารถใช้ svg สำหรับเอฟเฟกต์ข้อความบางอย่างดูตัวอย่าง
http://msdn.microsoft.com/en-us/ie/hh410107.aspx
และภาพเคลื่อนไหวบางส่วน
http://svg-wow.org/ ข้อความผล / ข้อความ effects.xhtml
บางผลปุ่มhttps://www.svgopen.org/2008/papers/86-Achieving_3D_Effects_with_SVG/
นี่เป็นตัวอย่างสำหรับจัดแต่งทรงผม cooleer ข้อความที่คุณควรจะดูที่นี้http: //www.hongkiat com / blog / scalable-vector-graphics-text /


3

ทางเลือกเดียวคือการสนับสนุนการจัดรูปแบบที่เลิกใช้แล้วซึ่ง HTML เองก็มีเช่น<font>แท็ก แต่คุณไม่ต้องการทำเช่นนั้น 8-)


7
หากคุณใช้ <font> คุณอาจได้รับความเกลียดชังอย่างรุนแรงจากนักพัฒนาเว็บอื่น ๆ เช่นฉัน: p (อย่างน้อยถ้าพวกเขาต้องอ่าน / แก้ไขรหัสของคุณ ... )
Svish

3

ไม่ได้ CSS คือหนทางที่จะไปตอนนี้ ไม่มีอะไรผิดปกติกับรูปแบบตัวเอง (โดยส่วนตัวแล้วฉันค่อนข้างชอบมันจริงๆ) แต่มีเพียงเบราว์เซอร์เท่านั้นที่รองรับ - โดยเฉพาะอย่างยิ่งเกี่ยวกับ IE เมื่อเรามีเบราว์เซอร์หลัก ๆ ทั้งหมดที่รองรับCSS3สิ่งต่างๆก็น่าจะดี - แม้ว่าฉันจะไม่มองโลกในแง่ดีเกินไปว่าจะเกิดขึ้นเมื่อใด


9
ไม่มีอะไรผิดปกติกับรูปแบบตัวเอง? เพื่ออ้างถึง Jeff Atwood: "ในระยะสั้น CSS ละเมิดหลักการใช้ชีวิตที่ผิดหลักการ DRY คุณมักจะทำซ้ำตัวเองอย่างต่อเนื่องและหลีกเลี่ยงไม่ได้ (ขาดตัวแปรดังนั้นเราจึงต้องทำสีซ้ำทั่วทุกที่ แต่ขาดการทำรังดังนั้นเราจึงต้อง ทำซ้ำบล็อก CSS ขนาดใหญ่ทั่วทุกที่) นั่นคือประสบการณ์ของฉันเช่นกันคุณสามารถเก่งได้ แต่ไม่มีอะไรเกี่ยวข้องกับข้อดีของภาษา
ปีเตอร์

3

ไม่มีทางเลือกอื่นสำหรับ CSS ในขณะนี้และนี่เป็นสิ่งที่ดี ผู้จำหน่ายเบราว์เซอร์, W3C, WHATWG และอื่น ๆ มีเวลาที่ยากพอที่จะเห็นด้วยกับข้อมูลจำเพาะเดียวคุณลองนึกดูว่าจะเกิดอะไรขึ้นหากมีข้อมูลจำเพาะมากกว่าหนึ่งรายการ

อย่างไรก็ตามฉันพบว่าเมื่อคุณเรียนรู้ CSS คุณจะได้รับความรู้ว่าสิ่งใดทำลายสิ่งใดเป็นพิเศษและเรียนรู้ที่จะทำงานกับมันหรือหลีกเลี่ยง

หวังว่านี่จะช่วยได้


12
"ไม่มีทางเลือกอื่นสำหรับ CSS ในตอนนี้และนี่เป็นสิ่งที่ดี" ฉันขอแตกต่าง
Gandalf

เป็นสิ่งที่ดีภายในข้อกำหนดที่แคบของ Good ที่ Darko ระบุไว้
Dom Vinyard

3

ครับ! sassอาจเป็นตัวเลือก


ฉันประหลาดใจที่ไม่มีการโหวตเพิ่มขึ้นเนื่องจากได้รับความนิยมจากฝูงชน Ruby on Rails
BlueRaja - Danny Pflughoeft

2

ไม่ (ส่วนใหญ่)

หากคุณต้องการสร้างเลย์เอาต์ที่ใช้งานได้กับเครื่องไคลเอนต์จำนวนสูงสุดคุณจะต้องเรียนรู้ CSS

หากคุณสามารถ จำกัด ผู้ใช้ของคุณไว้ที่ IE8, Chrome, Safari และ Firefox ได้คุณอาจต้องใช้ CSS2 ไม่เช่นนั้นคุณจะต้องเรียนรู้ความแตกต่างทั้งหมดของ CSS1 พร้อมกับสิ่งที่เสียหายมากมายโดยเฉพาะใน IE5 และ 6 .

HTML 3.2 มีแท็กการจัดรูปแบบบางแท็ก (เช่น<font>หรือ<center>) แต่คุณไม่สามารถทำอะไรได้มากนัก

ทำไมส่วนใหญ่? - หากคุณสามารถสันนิษฐานได้ว่าผู้ใช้มี Flash หรือ Silverlight และสร้างเว็บแอปพลิเคชันสำหรับพวกเขา จากนั้นเลย์เอาต์ของคุณจะสมบูรณ์แบบ แต่จะต้องมีปลั๊กอินฝั่งไคลเอ็นต์ (ซึ่งไม่ใช่ทุกคนที่มี) เพื่อให้ทำงานได้ ฉันจะไปตามเส้นทางนั้นก็ต่อเมื่อคุณต้องการ UI ไคลเอนต์ที่สมบูรณ์จริงๆ


จริงๆแล้วคุณสามารถทำอะไรได้มากมายด้วยแท็กการจัดรูปแบบ HTML 3.2 และเค้าโครงตามตาราง ตัวอย่างเช่นนี่เป็นเว็บไซต์เก่าของฉัน (อายุประมาณ 10 ปี): itek.at/alt/ganzneu-eng.html
Erich Kitzmueller

ไซต์จริงของคุณทำด้วยตารางเลย์เอาต์ด้วย คุณสูญเสีย * ความสามารถในการเข้าถึง * ความสามารถในการดูแลรักษา * ผู้ใช้อินเทอร์เน็ต 30% จำนวนมากที่มีแฮนดี้แคป * การตีความตามเครื่อง (เช่น Google) * ...
vikingosegundo

สิ่งที่คุณสามารถทำได้ด้วย 3.2 เป็นสิ่งที่ยอมรับได้ในการพัฒนาที่ทันสมัยเกี่ยวกับแบนด์วิดท์การเข้าถึงหรือการบำรุงรักษา ไม่มีจุดประสงค์ในการลดขนาดหากคุณไม่จำเป็นต้องทำ
annakata

@ammoQ - ใช่คุณทำได้ แต่ต้องใช้เวลาสักพักและเป็นแม่ที่จะเปลี่ยนแปลง เลื่อนกลับไปที่ช่วงต้นยุค 00 และการออกแบบไซต์เป็นเรื่องเกี่ยวกับการแบ่งภาพขนาดใหญ่และวางจิ๊กซอว์ที่ได้ลงในตาราง ฉันทำมันมากมายและมันก็ไม่ค่อยดีนักเมื่อเทียบกับของสมัยใหม่ คุณสามารถสร้างไซต์ด้วยวิธีนี้ได้ แต่ดูเหมือนว่าจะได้รับการอัปเดตครั้งล่าสุดในปี 2002
Keith

2

ฉันยอมรับว่าสถานะปัจจุบันของการรองรับ CSS ค่อนข้างแย่มาก

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


1

Zoli พูดถูก "xslt เป็นทางเลือก"

XSLT เปลี่ยน XML เป็นหน้าเว็บที่แสดงผลเช่นเดียวกับที่ CSS เปลี่ยน HTML ให้เป็นหน้าเว็บที่แสดงผล โปรดทราบว่าคุณไม่สามารถผสม XSLT กับ HTML หรือ CSS กับ XML ได้

ฉันใช้ทั้ง CSS + XSLT เพื่อสร้างหน้าเว็บที่แสดงผล


1

Adobe Postscript เป็นทางเลือกที่เป็นไปได้มากที่สุดสำหรับ CSS ปัญหาคือต้องใช้ Acrobat เพื่อดูบนเดสก์ท็อปหรือบนเว็บ มันเหนือกว่า CSS มากและยังคงไว้ซึ่งความตั้งใจในการออกแบบและการปรับขนาดในทุกอุปกรณ์ไม่ว่าจะเป็นเครื่องพิมพ์พล็อตเตอร์โทรศัพท์แท็บเล็ตและทุกอย่างด้วยล่าม Postscript

Postscript มีเส้นโค้งการเรียนรู้เป็นศูนย์เว้นแต่คุณจะนำไปใช้กับอุปกรณ์บางอย่าง โปรแกรมนี้ได้รับการตั้งโปรแกรมโดยโปรแกรมเมอร์ศิลปินกราฟิกศิลปินเครื่องพิมพ์มืออาชีพและแม้แต่ผู้ใช้คอมพิวเตอร์ในบ้านที่มีทักษะต่ำที่สุด สิ่งที่คุณต้องทำคือเลือกพิมพ์หรือบันทึกจากเมนูของแอปพลิเคชันใด ๆ รองรับการเชื่อมโยงและอินพุตฟิลด์ ค้นหาได้หรือไม่ เอกสารที่เป็น PS มักจะปรากฏในหน้าค้นหาของ Google

แม้ว่าจะสามารถดูได้จากเว็บเบราว์เซอร์ในรูปแบบ PDF แต่ก็ไม่ใช่ภาษาเบราว์เซอร์ดั้งเดิมเช่น HTML และ CSS ทำไมมันไม่ง่ายและทรงพลังขนาดนี้ล่ะ? เมื่อเว็บเริ่มต้น Adobe ก็มองไม่เห็นและโลภเกินไปที่จะเปิดภาษา พวกเขาต้องการขายใบอนุญาตให้กับเอ็นจิ้น PS และผลิตภัณฑ์สร้างเนื้อหา สำหรับ Adobe การแจกเบราว์เซอร์ PS ก็เหมือนกับการแจกห่านและไข่ทองคำ



-6

xslt เป็นอีกทางเลือกหนึ่ง

มันมีประสิทธิภาพมากกว่า css

มันยากกว่าที่จะเรียนรู้และใช้มัน


4
XSLT เป็นทางเลือกแทน CSS ได้อย่างไร? พวกเขาทำสิ่งที่แตกต่างกันอย่างสิ้นเชิง
Mr. Shiny and New 安宇

ฉันคิดว่าพวกเขาอาจหมายถึง XSL-FO ซึ่งก็ใช้ได้ แต่ AFAIK ไม่ทำงานในเบราว์เซอร์
Jeremy French

1
ไม่ฉันไม่ได้หมายถึง XSL-FO แค่ XSLT ใน XSLT คุณสามารถแสดงการเปลี่ยนแปลงได้ดังนั้นด้วย XSLT คุณสามารถแสดงการจัดรูปแบบใด ๆ ที่สามารถแสดงด้วย HTML ได้ ตกลงนั่นน้อยกว่าแล้วสิ่งที่ CSS สามารถทำได้ แต่ฉันไม่ได้บอกว่า XSLT เป็นทางเลือกที่สมบูรณ์แบบ สิ่งที่ XSLT อยู่ในไฟล์แยกต่างหากเช่น CSS และจาก HTML เราสามารถอ้างถึงไฟล์ XSLT เนื่องจากคุณสมบัติทั้ง 2 นี้เราสามารถจัดรูปแบบสำหรับเอกสารที่ใช้ HTML ได้โดยไม่ต้องซ้ำซ้อนมากนัก XSLT ทำงานใน Firefox, IE ฉันยังไม่ได้ทดสอบอื่น ๆ
Libeako

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