Blockly มี UI หมวดหมู่เริ่มต้น และมีตัวเลือกพื้นฐานบางอย่างสำหรับการจัดรูปแบบ หากต้องการข้อมูลเกี่ยวกับวิธีจัดรูปแบบ/กำหนดค่า UI ขั้นสูงเพิ่มเติม โปรดดูCodelab การปรับแต่งกล่องเครื่องมือ Blockly และการพูดคุยเกี่ยวกับ Toolbox API ปี 2021
CSS หมวดหมู่
คุณใช้ CSS เพื่อจัดรูปแบบกล่องเครื่องมือหมวดหมู่ได้ รายการสำหรับแต่ละหมวดหมู่จะ แบ่งออกเป็นหลายส่วน เช่น ไอคอน ป้ายกำกับ และแถวที่มี ไอคอนและป้ายกำกับ คุณจัดรูปแบบแต่ละส่วนแยกกันได้
โดยค่าเริ่มต้น ระบบจะกำหนดคลาส CSS เดียวกันให้กับชิ้นส่วนทั้งหมดที่มีประเภทเดียวกัน (เช่น ป้ายกำกับทั้งหมด) ใช้คลาสนี้หากต้องการจัดรูปแบบชิ้นส่วนทั้งหมดของประเภทเดียวกันในลักษณะเดียวกัน เช่น คุณต้องการให้ป้ายกำกับทั้งหมดมีสีเดียวกัน
นอกจากนี้ คุณยังกำหนดคลาส CSS ของแต่ละส่วนได้ด้วย ใช้วิธีนี้หาก คุณต้องการจัดรูปแบบแต่ละส่วนแตกต่างกัน เช่น คุณต้องการให้แต่ละป้ายกำกับ มีสีของตัวเอง
ตารางต่อไปนี้แสดงประเภท คำอธิบาย และคลาส CSS เริ่มต้นของ แต่ละส่วนของกล่องเครื่องมือหมวดหมู่ หากคุณมีปัญหาในการแสดงภาพนี้ ให้เปิด เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ในเบราว์เซอร์และตรวจสอบกล่องเครื่องมือ
ประเภทชิ้นส่วน | คำอธิบาย | คลาส CSS เริ่มต้น |
---|---|---|
เนื้อหา | div ที่มีหมวดหมู่ทั้งหมด |
blocklyToolboxCategoryGroup |
คอนเทนเนอร์ | div ที่มีหมวดหมู่เดียวและหมวดหมู่ย่อย |
blocklyToolboxCategoryContainer |
แถว | div ที่มีหมวดหมู่ |
blocklyToolboxCategory |
rowcontentcontainer | div ที่มีป้ายกำกับและไอคอน |
blocklyTreeRowContentContainer |
? | span ที่มีไอคอน |
blocklyToolboxCategoryIcon |
ป้ายกำกับ | span ที่มีป้ายกำกับ |
blocklyToolboxCategoryLabel |
เลือกแล้ว | เพิ่มลงใน "แถว" div เมื่อเลือกหมวดหมู่ |
blocklyToolboxSelected |
openicon | เพิ่มลงใน "ไอคอน" span เมื่อเปิดหมวดหมู่ที่มีหมวดหมู่ย่อย |
blocklyToolboxCategoryIconOpen |
closedicon | เพิ่มลงใน "ไอคอน" span เมื่อปิดหมวดหมู่ที่มีหมวดหมู่ย่อย |
blocklyToolboxCategoryIconClosed |
ตัวอย่างเช่น สมมติว่าคุณต้องการให้ป้ายกำกับทั้งหมดเป็นสีขาว แต่แถวของแต่ละหมวดหมู่มีสีพื้นหลังของตัวเอง โดยคุณต้องใช้คลาส CSS ที่กำหนดเอง สำหรับแต่ละแถว คุณใช้คลาสเริ่มต้นสำหรับป้ายกำกับได้
ก่อนอื่น ให้กำหนดคลาส CSS ที่กำหนดเองใน JSON หรือ XML ที่กำหนดหมวดหมู่ ดังนี้
JSON
ตั้งค่าคลาส CSS ที่กำหนดเองโดยใช้พร็อพเพอร์ตี้ cssConfig
{
"kind": "category",
"name": "My category",
"cssConfig": {
"row": "myRow" // Use the part type ("row") as a key.
},
"contents": [...],
},
{
"kind": "category",
"name": "Your category",
"cssConfig": {
"row": "yourRow"
},
"contents": [...],
},
XML
ตั้งค่าคลาส CSS ที่กำหนดเองโดยใช้แอตทริบิวต์ที่มีชื่อเป็นประเภทชิ้นส่วนโดยมี
css-
นำหน้า
<category name="My category" css-row="myRow">
...
</category>
<category name="Your category" css-row="yourRow">
...
</category>
ในไฟล์ CSS ให้ใช้คลาสที่กำหนดเองเพื่อกำหนดสีแถวและคลาสเริ่มต้น เพื่อกำหนดสีป้ายกำกับ
.myRow {background-color: green}
.yourRow {background-color: red}
.blocklyToolboxCategoryLabel {color: white}
ธีม
ธีมช่วยให้คุณระบุสีทั้งหมดของพื้นที่ทำงานได้ในครั้งเดียว รวมถึงสีของหมวดหมู่ด้วย
หากต้องการใช้ คุณต้องเชื่อมโยงหมวดหมู่กับรูปแบบหมวดหมู่ที่เฉพาะเจาะจง ดังนี้
JSON
{
"kind": "category",
"name": "Logic",
"categorystyle": "logic_category"
}
XML
<category name="Logic" categorystyle="logic_category"></category>
สี
คุณยังระบุสีโดยตรงได้ด้วย แต่เราไม่แนะนำให้ทำ colour คือหมายเลขที่แปลงเป็นสตริง (0-360) ซึ่งระบุสี โปรดทราบว่าใช้การสะกดคำแบบอังกฤษ
JSON
{
"contents": [
{
"kind": "category",
"name": "Logic",
"colour": "210"
},
{
"kind": "category",
"name": "Loops",
"colour": "120"
}
]
}
XML
<xml id="toolbox" style="display: none">
<category name="Logic" colour="210">...</category>
<category name="Loops" colour="120">...</category>
<category name="Math" colour="230">...</category>
<category name="Colour" colour="20">...</category>
<category name="Variables" colour="330" custom="VARIABLE"></category>
<category name="Functions" colour="290" custom="PROCEDURE"></category>
</xml>
โปรดทราบว่าเรายังรองรับการใช้การอ้างอิงสี ที่แปลได้ด้วย