Blog

  • CSS : z-index ใช้งานอย่างไร

    CSS : z-index ใช้งานอย่างไร

    คนที่ศึกษา CSS มาซักพัก น่าจะเจอกับคำว่า z-index ครั้งนี้ผมจะมาแนะนำว่า z-index นั้นใช้ทำอะไรกันแน่ แล้วมันใช้งานอย่างไร

    z-index

    เริ่มต้นผมมี Code HTML กับ CSS แบบนี้นะครับ

    [html]
    <div id="wrapper">
    <h1>Example : z-index</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent vestibulum rutrum metus, sed consequat lectus pharetra at. Morbi pulvinar egestas elementum. In viverra tristique vulputate. Pellentesque quis sapien tortor, ut consequat leo. Donec ac felis leo, quis vestibulum arcu. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisi. Morbi mattis ultricies nibh eu semper. Suspendisse malesuada hendrerit sapien eget pharetra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas commodo eleifend metus, eu sollicitudin mi gravida vel. Maecenas sodales vestibulum felis vel sodales. Praesent sed felis sem. Fusce tincidunt, odio vulputate commodo dapibus, justo tortor scelerisque eros, in aliquet mi erat at nibh. Pellentesque sed eros ligula, vel egestas lorem.</p>
    </div>
    [/html]

    [css]
    * {margin:0;padding:0;}
    #wrapper {width:860px;margin:20px auto;padding:50px;border:3px solid #F66;}
    [/css]

    ซึ่งผลลัพธ์ที่ออกมาก็จะเป็นดังรูปนะครับ

    วิธีใช้ z-index
    ผลลัพธ์ที่แสดงใน Browser

    คราวนี้ผมมีรูปริบบิ้นที่อยากจะให้มันอยู่ตรงมุมขวา

    วิธีใช้ z-index
    รูปริบบิ้นที่เราจะใช้

    ผมก็เลยเพิ่ม Code เข้าไปแบบนี้

    [html]
    <div id="wrapper">
    <h1>Example : z-index</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent vestibulum rutrum metus, sed consequat lectus pharetra at. Morbi pulvinar egestas elementum. In viverra tristique vulputate. Pellentesque quis sapien tortor, ut consequat leo. Donec ac felis leo, quis vestibulum arcu. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisi. Morbi mattis ultricies nibh eu semper. Suspendisse malesuada hendrerit sapien eget pharetra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas commodo eleifend metus, eu sollicitudin mi gravida vel. Maecenas sodales vestibulum felis vel sodales. Praesent sed felis sem. Fusce tincidunt, odio vulputate commodo dapibus, justo tortor scelerisque eros, in aliquet mi erat at nibh. Pellentesque sed eros ligula, vel egestas lorem.</p>
    <div id="ribbon"></div> <!– เพิ่ม –>
    </div>
    [/html]

    [css]
    * {margin:0;padding:0;}
    #wrapper {width:860px;margin:20px auto;padding:50px;border:3px solid #F66;}
    #ribbon {width:155px;height:142px;background:url(ribbon.png);position:absolute;top:0px;right:0px;} /** เพิ่ม **/
    [/css]

    ซึ่งเราจะได้ผลลัพธ์ออกมาเป็นแบบนี้

    วิธีใช้ z-index
    ผลลัพธ์ที่ได้ แต่เอ๊ะ ทำไมมันอยู่นอกกรอบ

    แต่เอ๊ะ ทำไมริบบิ้นเราถึงอยู่นอกกรอบ เพราะว่า position:absolute ตอนนี้ยึดหน้าต่าง Browser ในการนับตำแหน่ง ซึ่งริบบิ้นจึงอยู่บนสุด ขวาสุดของหน้าต่าง ถ้าเราอยากให้อยู่ในกรอบ ลองใส่ position:relative ให้กับกรอบเราดิ

    [css]
    * {margin:0;padding:0;}
    #wrapper {width:860px;margin:20px auto;padding:50px;border:3px solid #F66;/** เพิ่ม **/ position:relative;}
    #ribbon {width:155px;height:142px;background:url(ribbon.png);position:absolute;top:0px;right:0px;}
    [/css]

    วิธีใช้ z-index
    ผลลัพธ์ที่ได้ริบบิ้นอยู่ในกรอบแล้ว

    แล้วถ้าเกิดเราเจอปัญหาแบบนี้ละ สมมติผมลดขนาดกรอบลงนะครับ

    [css]
    * {margin:0;padding:0;}
    #wrapper {width:500px;margin:20px auto;padding:30px;border:3px solid #F66;position:relative;}
    #ribbon {width:155px;height:142px;background:url(ribbon.png);position:absolute;top:0px;right:0px;}
    [/css]

    ทำไงดี ริบบิ้นทับตัวอักษร

    วิธีใช้ z-index
    อ้าว ริบบิ้นทับตัวอักษรตรงมุมด้านขวาบน

    รู้จักกับ z-index

    ก่อนจะใช้งาน z-index ให้นึกถึงคณิตศาสตร์สมัยมัธยม ที่มีกราฟ มีแกน x แกน y หน้าต่าง Browser ก็เหมือนกัน ที่มองเป็นแกน x แกน y

    วิธีใช้ z-index
    รู้จัก X กับ Y ก่อนมารู้จัก Z

    แล้วแกน z อยู่ไหนละ ให้จิตนาการว่า แกน z ก็จะเป็นลูกศรพุ่งเข้ามาที่หน้าเรา ดังนั้นในกรณีที่ตัวอักษรโดนริบบิ้นทับอยู่นั้น ก็เพราะว่ามันถูกจัดใน z-index ที่ต่ำกว่า ถ้าแบบนี้เรามากำหนด z-index ให้มันดีกว่า


    เริ่มต้นใช้งาน z-index

    ถ้าแบบนี้ เรากำหนดให้ tag <p> มี z-index มากกว่าริบบิ้นแล้วกัน

    [css]
    * {margin:0;padding:0;}
    #wrapper {width:500px;margin:20px auto;padding:30px;border:3px solid #F66;position:relative;}
    #ribbon {width:155px;height:142px;background:url(ribbon.png);position:absolute;top:0px;right:0px;z-index:2;}
    p {z-index:5;}
    [/css]

    ผลลัพธ์ที่ได้ออกมาก็จะเป็นแบบนี้

    วิธีใช้ z-index
    อ้าว เวรกรรม ทำไมมันเหมือนเดิมละ

    อ้าว เวรกรรมแล้ว ทำไมมันไม่เห็นมีอะไรเปลี่ยนแปลงเลยละ ที่มันไม่เปลี่ยนแปลงก็เพราะว่า ตัว z-index นั้นจะทำงานกับ position:relative หรือ position:absolute พอเรารู้แบบนี้ เราลองใส่ position:relative ให้ tag <p> นะครับ

    [css]
    * {margin:0;padding:0;}
    #wrapper {width:500px;margin:20px auto;padding:30px;border:3px solid #F66;position:relative;}
    #ribbon {width:155px;height:142px;background:url(ribbon.png);position:absolute;top:0px;right:0px;z-index:2;}
    p {z-index:5;position:relative;}
    [/css]

    ผลลัพธ์ก็ออกมาเป็นแบบนี้

    วิธีใช้ z-index
    เย้ z-index ใช้งานได้แล้ว

    คราวนี้ผมมี badge facebook จะเอามาใช้ประกอบบ้าง

    วิธีใช้ z-index
    Badge Facebook

    เอามาใส่ใน Code เลย

    [html]
    <div id="wrapper">
    <h1>Example : z-index</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent vestibulum rutrum metus, sed consequat lectus pharetra at. Morbi pulvinar egestas elementum. In viverra tristique vulputate. Pellentesque quis sapien tortor, ut consequat leo. Donec ac felis leo, quis vestibulum arcu. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisi. Morbi mattis ultricies nibh eu semper. Suspendisse malesuada hendrerit sapien eget pharetra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas commodo eleifend metus, eu sollicitudin mi gravida vel. Maecenas sodales vestibulum felis vel sodales. Praesent sed felis sem. Fusce tincidunt, odio vulputate commodo dapibus, justo tortor scelerisque eros, in aliquet mi erat at nibh. Pellentesque sed eros ligula, vel egestas lorem.</p>
    <div id="ribbon"></div>
    <img src="facebook.png" />
    <img src="facebook.png" />
    </div>
    [/html]

    ก็จะได้ผลลัพธ์ออกมาเป็นดังนี้

    วิธีใช้ z-index
    เพิ่มรูป badge facebook เข้าไปสองอัน

    ต่อมา ถ้าเราอยากให้ badge มันซ้อนกันละ ก็ทำแบบนี้ครับ

    [html]
    <div id="wrapper">
    <h1>Example : z-index</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent vestibulum rutrum metus, sed consequat lectus pharetra at. Morbi pulvinar egestas elementum. In viverra tristique vulputate. Pellentesque quis sapien tortor, ut consequat leo. Donec ac felis leo, quis vestibulum arcu. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisi. Morbi mattis ultricies nibh eu semper. Suspendisse malesuada hendrerit sapien eget pharetra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas commodo eleifend metus, eu sollicitudin mi gravida vel. Maecenas sodales vestibulum felis vel sodales. Praesent sed felis sem. Fusce tincidunt, odio vulputate commodo dapibus, justo tortor scelerisque eros, in aliquet mi erat at nibh. Pellentesque sed eros ligula, vel egestas lorem.</p>
    <div id="ribbon"></div>
    <img src="facebook.png" />
    <img src="facebook.png" style="position:relative;left:-50px;" />
    </div>
    [/html]

    ซึ่งจากที่สังเกตมา ถ้าใส่ position เข้าแล้ว z-index ของตัวนั้น จะมีมากกว่าตัวที่ไม่ได้ใส่ position ดังนั้นผลลัพธ์จึงออกมาเป็น badge facebook ตัวหลังทับตัวหน้า

    วิธีใช้ z-index
    badge facebook ตัวหลังทับตัวหน้า

    แต่ถ้าอยากให้ตัวหน้าทับตัวหลัง ก็ง่าย ๆ แบบตัวอย่างที่แล้ว ใส่ position:relative กับ z-index

    [html]
    <div id="wrapper">
    <h1>Example : z-index</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent vestibulum rutrum metus, sed consequat lectus pharetra at. Morbi pulvinar egestas elementum. In viverra tristique vulputate. Pellentesque quis sapien tortor, ut consequat leo. Donec ac felis leo, quis vestibulum arcu. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisi. Morbi mattis ultricies nibh eu semper. Suspendisse malesuada hendrerit sapien eget pharetra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas commodo eleifend metus, eu sollicitudin mi gravida vel. Maecenas sodales vestibulum felis vel sodales. Praesent sed felis sem. Fusce tincidunt, odio vulputate commodo dapibus, justo tortor scelerisque eros, in aliquet mi erat at nibh. Pellentesque sed eros ligula, vel egestas lorem.</p>
    <div id="ribbon"></div>
    <img src="facebook.png" style="position:relative;z-index:10;" />
    <img src="facebook.png" style="position:relative;left:-50px;" />
    </div>
    [/html]

    เราก็จะได้ผลลัพธ์ออกมาตามที่เราต้องการ

    วิธีใช้ z-index
    ตัวหน้าทับตัวหลังแล้ว

    z-index ใช้ได้ผลกับ element ที่อยู่ระดับเดียวกัน

    ถ้าอยู่ดี ๆ เราอยากจะบังริบบิ้นขึ้นมาละ งั้นลองสั่งให้ wrapper มันมี z-index มากกว่า ribbon แล้วกัน

    [html]
    <div id="wrapper">
    <h1>Example : z-index</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent vestibulum rutrum metus, sed consequat lectus pharetra at. Morbi pulvinar egestas elementum. In viverra tristique vulputate. Pellentesque quis sapien tortor, ut consequat leo. Donec ac felis leo, quis vestibulum arcu. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisi. Morbi mattis ultricies nibh eu semper. Suspendisse malesuada hendrerit sapien eget pharetra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas commodo eleifend metus, eu sollicitudin mi gravida vel. Maecenas sodales vestibulum felis vel sodales. Praesent sed felis sem. Fusce tincidunt, odio vulputate commodo dapibus, justo tortor scelerisque eros, in aliquet mi erat at nibh. Pellentesque sed eros ligula, vel egestas lorem.</p>
    <div id="ribbon"></div>
    </div>
    [/html]

    [css]
    * {margin:0;padding:0;}
    #wrapper {width:500px;margin:20px auto;padding:30px;border:3px solid #F66;position:relative;background:#DDD;
    z-index:10;}
    #ribbon {width:155px;height:142px;background:url(ribbon.png);position:absolute;top:0px;right:0px;z-index:2;}
    [/css]

    แต่ทำไมสีเทามันไม่บังริบบิ้นละ ก็เพราะว่า wrapper มันคลุม ribbon อยู่

    วิธีใช้ z-index
    สีเทาไม่ได้ทับริบบิ้นแบบที่เราต้องการ

    ดังนั้นเราลองสร้างอะไรมาให้มันอยู่ระดับเดียวกับ ribbon แล้วกัน

    [html]
    <div id="wrapper">
    <div id="box">
    <h1>Example : z-index</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent vestibulum rutrum metus, sed consequat lectus pharetra at. Morbi pulvinar egestas elementum. In viverra tristique vulputate. Pellentesque quis sapien tortor, ut consequat leo. Donec ac felis leo, quis vestibulum arcu. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisi. Morbi mattis ultricies nibh eu semper. Suspendisse malesuada hendrerit sapien eget pharetra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas commodo eleifend metus, eu sollicitudin mi gravida vel. Maecenas sodales vestibulum felis vel sodales. Praesent sed felis sem. Fusce tincidunt, odio vulputate commodo dapibus, justo tortor scelerisque eros, in aliquet mi erat at nibh. Pellentesque sed eros ligula, vel egestas lorem.</p>
    </div>
    <div id="ribbon"></div>
    </div>
    [/html]

    [css]
    * {margin:0;padding:0;}
    #wrapper {width:500px;margin:20px auto;padding:30px;border:3px solid #F66;position:relative;}
    #box {position:relative;background:#DDD;z-index:10;}
    #ribbon {width:155px;height:142px;background:url(ribbon.png);position:absolute;top:0px;right:0px;z-index:2;}
    [/css]

    ผลลัพธ์ที่ได้ จะได้กล่องสีเทาบังริบบิ้นแบบที่เราต้องการ

    วิธีใช้ z-index
    กล่องสีเทาบังริบบิ้นแล้ว

    จากทั้งหมดที่ยกตัวอย่าง เราน่าจะสามารถนำไปประยุกต์ใช้งานต่าง ๆ ได้

  • วิธีใช้ WordPress ตอนที่ 6 – ใส่รูปภาพในบทความ

    วิธีใช้ WordPress ตอนที่ 6 – ใส่รูปภาพในบทความ

    แน่นอนว่า บทความที่เราเขียนนั้น คงไม่ได้มีแต่ตัวหนังสือแน่ ๆ ต้องมีรูปภาพประกอบในบทความบ้างละ มาดูวิธีใส่รูปภาพลงไปในบทความกันนะครับ

    เพิ่มรูปภาพในบทความ WordPress

    บทความที่เราสร้างขึ้นมาใหม่ หรือบทความเก่าที่เราต้องการแก้ไข เราสามารถเพิ่มรูปภาพลงไปในบทความของเราได้โดยเลือกตำแหน่งที่จะลงรูปภาพ หลังจากนั้นคลิ๊กที่ icon เหมือนสี่เหลี่ยมผืนผ้าซ้อนกันตรงแถวคำว่า Upload/Insert

    รูปอธิบายหัวข้อ วิธีใช้ WordPress [1]
    คลิ๊กที่ icon ในวงกลมสีแดง

    ซึ่งในการเพิ่มรูปภาพสำหรับบทความ WordPress นั้น มีให้เลือก 3 แบบ คือ

    รูปอธิบายหัวข้อ WordPress [2]
    สามารถเลือกได้ทั้งจากคอมของเรา, จาก URL หรือจากรูปภาพที่เราเคยเพิ่มมาแล้ว
    • From Computer : เลือกรูปภาพที่จะเพิ่มจากในคอมพิวเตอร์ของเรา
    • From URL : เพิ่มรูปภาพโดยการใส่ URL ของภาพที่เราจะใส่ในบทความ
    • Media Library : เลือกรูปภาพจากรูปภาพที่เราเคยอัพโหลดในเว็บมาแล้ว

    เลือกรูปจากคอมเราลงบทความ

    รูปอธิบายหัวข้อ วิธีใช้ WordPress [3]
    เลือกที่ Select Files เพื่อเลือกรูปที่ต้องการเพิ่ม

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

    รูปอธิบายหัวข้อ วิธีใช้ WordPress [4]
    กรอกข้อมูลของรูปภาพ เพื่อนำไปใช้งานต่อไป
    • Title : ชื่อของรูป
    • Alternate Text : อธิบายเพิ่มเติม
    • Caption : คำบรรยายภาพ
    • Description : อธิบายเกี่ยวกับภาพ
    • Link URL : ให้รูป link ไปที่ไหน ซึ่งเลือกได้ว่า
      • None : ไม่ link ไปไหน
      • File URL : link ไปยังรูปของเต็มขนาดของรูปนั้น ๆ
      • Post URL : link ไปโดยทำรูปนั้นให้เป็นเหมือน 1 Post ไปเลย
      • หรือจะกรอก URL ที่ต้องการให้รูปนี้ link ไปหา
    • Alignment : จัดรูปให้ชิดซ้าย ชิดขวา หรืออยู่ตรงกลาง
    • Size : เลือกขนาดของรูปที่จะนำลงในบทความ

    ข้อมูลนั้น เราสามารถกรอกแค่ Title อย่างเดียวก็ได้ครับ หลังจากที่กรอกข้อมูลเสร็จแล้ว ก็กด Insert into Post เลยครับ ก็จะได้เป็นดังรูป

    รูปอธิบายหัวข้อ วิธีใช้ WordPress [5]
    รูปที่เพิ่ม ปรากฎในช่องสำหรับ Edit Post

    แก้ไขรูปที่ลงในบทความ WordPress

    ให้คลิ๊กที่รูปภาพที่เราต้องการจะแก้ไข เมื่อคลิ๊กแล้วจะมี icon โผล่ขึ้นมา 2 อัน icon ด้านซ้ายคือ แก้ไขรูปภาพ และด้านขวาคือ ลบรูปภาพ

    รูปอธิบายหัวข้อ วิธีใช้ WordPress [6]
    icon ทั้งสองที่ปรากฎเมื่อคลิ๊กที่รูปภาพ

    โดยเราสามารถแก้ไขรูปภาพของเราได้ดังนี้

    รูปอธิบายหัวข้อ วิธีใช้ WordPress [7]
    แก้ไขรูปภาพที่เราได้ลงไปในบทความแล้ว
    • Size : เราสามารถแก้ไขขนาดรูปเป็น % ได้
    • Alignment : แก้ไขรูปให้ชิดซ้าย ชิดขวา หรืออยู่ตรงกลาง
    • Title : แก้ไขชื่อของรูป
    • Alternate Text : แก้ไขข้อความที่อธิบายเพิ่มเติม
    • Caption : แก้ไขคำบรรยายภาพ
    • Link URL : แก้ไข link ที่จะให้รูปภาพนี้ link ไปหา

    เสร็จแล้วก็ Update ได้เลยครับ รูปภาพของเราจะถูกแก้ไขเป็นไปตามที่เราเลือกไว้

    รูปอธิบายหัวข้อ วิธีใช้ WordPress [8]
    รูปถูกลดขนาดลง และจัดชิดขวา

    แต่เรายังสามารถเลือก Advanced Settings เพื่อแก้ไขรูปภาพเพิ่มเติมจากเดิม โดยแบ่งออกเป็น 2 ส่วน คือ ส่วนของรูปภาพ กับส่วนของ Link

    รูปอธิบายหัวข้อ วิธีใช้ WordPress [9]
    หน้า Advanced Settings

    ซึ่งสามารถกำหนดอะไรได้หลากหลายกว่า Edit Image

  • Smashing Magazine ฉลองครบรอบ 5 ปี แจก eBook ฟรี

    Smashing Magazine ฉลองครบรอบ 5 ปี แจก eBook ฟรี

    smashing-magazine

    เนื่องด้วย Smashing Magazine ครบรอบ 5 ปี ทางเว็บ Smashing Magazine ได้รวบรวมสุดยอดบทความใน 5 ปีที่ผ่านมาไว้ใน eBook ที่มีชื่อว่า “Best of Smashing Magazine” Anniversary eBook.

    Best of Smashing Magazine Anniversary eBook.

    หัวข้อของเนื้อหาในเล่ม

    • “Thirty Usability Issues to Be Aware Of”  —  Vitaly Friedman
    • “Ten Principles of Effective Web Design”  —  Vitaly Friedman
    • “Clever JPEG Optimization Techniques”  —  Sergey Chikuyonok
    • “Typographic Design Patterns and Best Practices”  —  Smashing Editorial team
    • “Ten Useful Usability Findings and Guidelines”  —  Dmitry Fadeyev
    • “Setting Up Photoshop for Web and iPhone Development”  —  Marc Edwards
    • “The Ails of Typographic Anti-Aliasing”  —  Tom Giannattasio
    • “Mastering Photoshop: Noise, Textures and Gradients”  —  Marc Edwards
    • “Better User Experience With Storytelling”  —  Francisco Inchauste
    • “The Beauty of Typography, Writing Systems and Calligraphy”  —  Jessica Bordeau
    • “Web Designers, Don’t Do It Alone”  —  Paul Boag
    • “Making Your Mark on the Web Is Easier Than You Think”  —  Christian Heilmann
    • “Responsive Web Design: What It Is and How to Use It”  —  Kayla Knight
    • “I Want to Be a Web Designer When I Grow Up”  —  Michael Aleo
    • “Persuasion Triggers in Web Design”  —  David Travis
    • “What Font Should I Use?”  —  Dan Mayer
    • “The Design Matrix: A Powerful Tool for Guiding Client Input”  —  Bridget Fahrland
    • “Why User Experience Cannot Be Designed”  —  Helge Fredheim
    • “Dear Web Design Community, Where Have You Gone?”  —  Vitaly Friedman
    • “Make Your Content Make a Difference”  —  Colleen Jones
    • “Two Cats in a Sack: Designer-Developer Discord”  —  Cassie McDaniel
    • “Print Loves Web”  —  Mark Cossey

    ซึ่งสามารถ Download ได้จาก

    ที่มา : To Five Smashing Years… And A Free Anniversary eBook Treat!

  • หัดเขียนโปรแกรมไปกับ Codecademy.com

    หัดเขียนโปรแกรมไปกับ Codecademy.com

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

    codecademy [1]
    หน้าตาของเว็บ Codecademy

    คลิ๊กที่ Sign Up เพื่อสมัครเข้าใช้งานเลยครับ

    codecademy [2]
    กรอกข้อมูลต่าง ๆ เพื่อสมัครเข้าใช้งาน

    เมื่อกด Sign Up ไปแล้ว ก็เข้าสู่หน้านี้

    codecademy [4]
    หน้า Profile หลังจากสมัครแล้ว

    ระหว่างนั้นก็จะมีอีเมลส่งมาให้ตามอีเมลที่เราสมัครไป

    codecademy [4]
    เนื้อหาของอีเมลที่ส่งมาให้เรา

    แต่ก่อนจะทำอะไรต่อไป แนะนำให้ไปที่ Edit Account ก่อนนะครับ จะได้ตั้งค่าต่าง ๆ ที่จำเป็นในการเข้าใช้ครั้งหน้าของเรา

    codecademy [5]
    ตั้งค่า Account ของเราให้เรียบร้อยก่อนเรียน

    เมื่อกรอกข้อมูลต่าง ๆ จนเสร็จแล้ว มาที่หน้า Profile จะพบว่าข้อมูลของเราเปลี่ยนไปตามที่เรากรอกข้อมูลแล้ว เรามาเริ่มเรียนเขียนโปรแกรมกันดีกว่า

    codecademy [6]
    หน้าของ Profile ที่เปลี่ยนตามที่เราตั้งค่าไว้

    พอเราคลิ๊กที่หัวข้อ Getting Started with Programming ก็จะเป็นรายละเอียดเกี่ยวกับหัวข้อนี้สำหรับเรา ว่าเราเรียนไปถึงไหนแล้ว แต่ตอนนี้เรายังไม่ได้เริ่ม เลยยังเป็น 0% อยู่ งั้นก็มาเริ่มเรียนโดยกดที่ Start your first lesson ทางด้านขวา

    codecademy [7]
    คลิ๊ก Start your first lesson เพื่อเริ่มเรียน

    ในหน้าบทเรียนนั้น จะมีลักษณะเป็นแบบนี้

    codecademy [8]
    หน้าบทเรียน

    โดยแต่ละส่วนก็ทำหน้าที่ของมันดังนี้

    codecademy [13]
    บอกว่าเราอยู่หัวข้อไหน บทที่เท่าไหร่แล้ว
    codecademy [14]
    บอกจุดประสงค์ของหัวข้อนี้ ว่าต้องการให้เราทำอะไร
    codecademy [15]
    ส่วนที่ไว้ให้เราเขียนโปรแกรม ตามจุดประสงค์ของแต่ละข้อจากด้านซ้าย

    และเมื่อทำจนจบบทแรก เราก็จะได้ Badges อันแรกมา รวมถึงคะแนนต่าง ๆ ที่เพิ่มขึ้นระหว่างที่เราเรียน

    codecademy [10]
    ได้ Badges หลังจากที่ทำบทแรกเสร็จ

    คราวนี้ลองกลับมาที่หน้า Profile จะพบว่า เราเรียนหัวข้อ Getting Started with Programming ไปแล้ว 12% มีแต้มสะสมเท่าไหร่ ได้ Badges อะไรบ้างแล้ว

    codecademy [11]
    หน้า Profile ของเราที่เปลี่ยนไป หลังจากที่เรียนบทแรกเสร็จแล้ว

    ซึ่งตอนนี้ ถ้าเข้าไปที่หัวข้อ Courses จะพบว่ามีให้เรียนอยู่สองหัวข้อตามนี้

    codecademy [12]
    หน้า Courses

    ถ้าใครอยากลองเข้าไปเรียนบ้าง ก็ตามไปที่ Codecademy เลยครับ

  • วิธีใช้ WordPress ตอนที่ 5 – สร้างและแก้ไข Pages

    วิธีใช้ WordPress ตอนที่ 5 – สร้างและแก้ไข Pages

    Pages นั้นอย่างที่เคยบอกไป ว่าส่วนใหญ่เราจะใช้งานกับหน้าที่เป็น Static หรือหน้าที่เราไม่ค่อยเปลี่ยนแปลงเนื้อหาภายในบ่อย อย่างเช่น About Us, Contact Us เป็นต้น ซึ่งตัว Pages เองก็สามารถมี Subpages ได้ ยกตัวอย่างจากรูป จะเห็นว่า About Us จะมี Subpages เป็น Awards

    รูปอธิบายหัวข้อ วิธีใช้ WordPress [1]
    เมนูที่เกิดจาก Pages ต่าง ๆ ที่เราสร้างไว้

    Pages ประกอบด้วย

    โดยหน้า Pages นั้นก็จะประกอบด้วยโครงสร้างหลัก ๆ 2 อย่าง คือ

    1. Title(หัวข้อ) [สีแดง]
    2. Content(เนื้อหา) [สีฟ้า]
    รูปอธิบายหัวข้อ วิธีใช้ WordPress [2]
    ส่วนประกอบของหน้า Pages ทั่ว ๆ ไป

    Pages Template

    Pages นั้นเราสามารถเลือก Template ให้แต่ละหน้าได้ ว่าจะมี Layout แตกต่างกัน

    รูปอธิบายหัวข้อ วิธีใช้ WordPress [3]
    มี Template สำหรับเปลี่ยน Layout ในแต่ละ Page

    จากรูปจะเห็นว่า About Us นั้นจะเป็น Pages Template ที่มี 1 Column แต่หน้าของ Contact Us นั้นจะเป็น Pages Template ที่มี 2 Column ที่เป็นส่วนของเนื้อหา กับ Sidebar

    สร้าง Pages ใหม่

    การสร้าง Pages ใหม่นั้นก็ให้เลือกที่ Add New ในหัวข้อของ Pages

    รูปอธิบายหัวข้อ วิธีใช้ WordPress [4]
    เลือกตรงที่ลูกศรสีแดงชี้อยู่

    ซึ่งก็เหมือนการสร้าง Posts ใหม่ ที่เราต้องใส่หัวข้อ เนื้อหา แต่ส่วนที่ไม่เหมือนกันคือ Page Attributes

    รูปอธิบายหัวข้อ วิธีใช้ WordPress [5]
    หัวข้อ Page Attributes

    โดยเราสามารถเลือกว่าจะให้ Pages ที่เราสร้างนั้นเป็น Subpages ของ Pages ไหนหรือเปล่า สามารถเลือก Template ได้ว่าจะให้ Layout ออกมาเป็นแบบไหน และสามารถจัดลำดับได้

    ยกตัวอย่าง ผมจะสร้างหน้าชื่อหัวข้อ Soshi โดยที่จะให้เป็น Subpages ของ About Us และใช้ Template แบบมี Sidebar รวมทั้งตั้งลำดับไว้เป็นลำดับที่ 1 (โดยไปตั้งหน้า Pages หัวข้อ Awards เป็นลำดับ 2 ไว้แล้ว)

    รูปอธิบายหัวข้อ วิธีใช้ WordPress [6]
    แต่ละหัวข้อ เราสามารถเลือกค่าต่าง ๆ เพื่อกำหนดคุณสมบัติให้ Page นั้น ๆ (คลิ๊กที่รูปเพื่อขยาย)

    และเมื่อเรา Publish ออกไปแล้ว ที่หน้าเว็บก็จะมีหน้า Soshi ปรากฎขึ้นในส่วนที่เป็น Subpages ของ About Us ลำดับที่ 1 ก่อน Awards ที่เป็นลำดับที่ 2

    รูปอธิบายหัวข้อ วิธีใช้ WordPress [7]
    หน้า Page Soshi ปรากฎในเมนู

    คลิ๊กเข้าไปที่หน้า Soshi ก็จะแสดง Layout มาในรูปแบบของ Sidebar Template ตามที่เราเลือกไว้

    รูปอธิบายหัวข้อ วิธีใช้ WordPress [8]
    Layout ของ Page ตาม Template ที่เราเลือกไว้

    แก้ไข Pages ที่เราสร้างขึ้นมาแล้ว

    เราสามารถแก้ไข Pages ที่เราสร้างขึ้นมาแล้วได้ ซึ่งวิธีการแก้ไขนั้นก็คล้ายกับการแก้ไข Posts แต่จะมีส่วนที่แตกต่างกันตรงที่ถ้าเราแก้ไขเป็นกลุ่มนั้น ของ Pages จะเป็นลักษณะแบบนี้

    รูปอธิบายหัวข้อ วิธีใช้ WordPress [9]
    เมื่อเลือกแก้ไขพร้อมกันหลาย ๆ หัวข้อ

    นอกจากนั้นการแก้ไข Pages จะมีลักษณะคล้ายการแก้ไข Posts ย้อนกลับไปดูได้ใน ตอนที่ 3 – แก้ไข Post ที่สร้างไปแล้ว

  • วิธีใช้ WP_Query ร่วมกับ Plugin WP-Pagenavi

    วิธีใช้ WP_Query ร่วมกับ Plugin WP-Pagenavi

    วันนี้เจอปัญหานี้มาครับ ใช้ WP_Query ในการ query ข้อมูลออกมา แต่มันดันทำงานกับ WP-Pagenavi ไม่ได้ซะงั้น เกิดอะไรขึ้นเนี่ย เข้า Google เพื่อหาทางแก้ไขปัญหานี้ จนเจอวิธี HOW TO GET CUSTOM WP_QUERY LOOP WORKING WITH PAGINATION AND WP-PAGENAVI

    วิธีการที่เค้าแนะนำมา คือให้เขียน Code แบบนี้ครับ

    [php]
    <?php
    $temp = $wp_query;
    $wp_query= null;
    $wp_query = new WP_Query(‘cat=-6&paged=’ . $paged);
    while ($wp_query->have_posts()) : $wp_query->the_post();
    ?>

    <?php // ใส่ Code เพื่อแสดง Post ของเรา ?>

    <?php
    endwhile;
    if(function_exists(‘wp_pagenavi’)) { wp_pagenavi(); }
    $wp_query = null; $wp_query = $temp; ?>
    [/php]

    และผมลองทดสอบกับ Plugin WP_Paging ที่ผมจะใช้งาน ก็ใช้ได้ผลเหมือนกันครับ