Author Archives: Puriko

How loading time effects your responsive website

How loading time effects your responsive website

25% จะหนีจากเว็บ เมื่อใช้เวลาโหลดหน้าเว็บเกิน 4 วินาที
จากภาพ 1 ใน 4 หรือ 25% จะหนีจากเว็บ เมื่อใช้เวลาโหลดหน้าเว็บเกิน 4 วินาที
อ้างอิงจาก http://www.sitepoint.com/optimizing-responsive-design-websites-for-performance/

หากดูจากภาพนี้
How loading time effects your Bottom Line
เทียบกับเว็บไซต์ e-commerce บน mobile ช่วงเวลารอคอย 6-10 วินาที เป็นช่วงเวลาที่มีจำนวนรอคอยได้มากสุดนั่นคือ 30% นอกจากช่วงเวลา 6-10 วินาทีแล้ว จำนวนคนที่มีความอดทนรอคอยก็จะลดจำนวนลง คือน้อยกว่า 30% ซึ่ง เว็บประเภท e-commerce จะเห็นการสูญเสียตัวเงินชัดเจน สมมติว่า เว็บไซต์ AAA ทำรายได้ 1 แสนบาทต่อ 1 วัน ถ้าหน้าเว็บโหลดช้าไปเพียง 1 วินาที ก็จะทำให้สูญเสียรายได้ไป 2.5 ล้านบาทต่อปี จะเห็นว่า 1 วินาทีนั้น มีค่ามากขนาดไหน

อ้างอิงจาก http://blog.kissmetrics.com/loading-time/?wide=1

การนำเสนอเนื้อหา แบบโครงสร้าง 2 Column (Fix Layout)

การนำเสนอเนื้อหา แบบโครงสร้าง 2 Column (Fix Layout)

2 column แบบ Fix Layout

หากเราต้องการสร้างเว็บไซต์ ที่มีเนื้อหาแบ่งเป็น 2 column แบบ Fix Layout ความกว้างของเว็บไซต์ 960 พิกเซล และให้อยู่กลางหน้าจอเสมอ โดยกำหนดให้มีส่วนหัว (header) ส่วนเนื้อหา (main content) และ ส่วนท้าย (footer) จะเริ่มต้นอย่างไร

เริ่มต้น

สร้าง html เปล่า โดยกำหนด doctype ให้เป็นแบบ XHTML 1.0 Transitional (ใช้ dreamweaver สร้าง)

จะได้ code html ดังนี้

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>การนำเสนอเนื้อหา แบบโครงสร้าง 2 Column (Fixed Layout)</title>
</head>

<body>
</body>
</html>

เริ่มเขียนโครงสร้างหลัก3 ส่วน คือ header, main content และ footer โดยใช้ div ในการแบ่งโครงสร้าง

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>การนำเสนอเนื้อหา แบบโครงสร้าง 2 Column (Fixed Layout)</title>
</head>
<body>
<div class="header">
        <h1>การนำเสนอเนื้อหา แบบโครงสร้าง 2 Column (Fixed Layout)</h1>
</div>
<div class="maincontent">
        <h2>เนื้อหา</h2>
</div>
<div class="footer">
        <p>By Corporate UI & Design</p>
</div>
</body>
</html>

ในส่วนของเนื้อหา กำหนดให้เป็น 2 Column

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>การนำเสนอเนื้อหา แบบโครงสร้าง 2 Column (Fixed Layout)</title>
</head>
<body>
<div class="header">
        <h1>การนำเสนอเนื้อหา แบบโครงสร้าง 2 Column (Fixed Layout)</h1>
</div>
<div class="maincontent">
        <div class="left">
            <h2>Left Column</h2>
        </div>
        <div class="content">
            <h2>Content</h2>
        </div>
</div>
<div class="footer">
        <p>By Corporate UI & Design</p>
</div>
</body>
</html>

สร้างไฟล์ external style sheet เปล่า ชื่อ main.css และ ลิ้งค์ไว้ใน ….

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>การนำเสนอเนื้อหา แบบโครงสร้าง 2 Column (Fixed Layout)</title>
<link href="cs/main.css" rel="stylesheet" type="text/css" media="screen" />
</head>
…

เขียน css เพื่อจัดหน้าตาเว็บไซต์ โดยเริ่มกำหนดค่าเริ่มต้นก่อน

@charset "utf-8";
/* CSS Document */
/*Reset*/
* { margin: 0; padding: 0; }
body { font-family: tahoma; font-size: 13px; color: #101010; }

เขียนโครงสร้างของ 3 ส่วนหลัก

.header, .maincontent { width: 960px; margin: 0 auto 15px; }
.footer { width: 960px; margin: 0 auto; }

จัดโครงสร้างในส่วนของ main content

.maincontent { overflow: hidden; }
.left { float: left; width: 300px; }
.content { margin: 0 0 0 315px; }


ตกแต่ง ie ด้วย CSS3

ตกแต่ง ie ด้วย CSS3

เจอแล้วตัวช่วยตกแต่ง ie6, ie7, ie8 ทำ border-radius, box-shadow, png (ie6) ได้ คราวนี้ เว็บเราก็จะสวยเหมือนๆ กันบนทุก browser แล้ว (เย้ๆ)

วิธีการทำก็ไม่ยากอะไร ทำตามดังนี้

1. ดาวน์โหลดไฟล์จากที่นี่ http://css3pie.com/download-latest
2. แตก zip… แล้วเราจะได้ไฟล์ PIE.htc มา (ใช้ไฟล์ PIE.htc นี่แหล่ะ) และไฟล์อื่นๆ อีกหลายไฟล์ (ไฟล์อื่นๆ เราไม่ได้ใช้ แต่ถ้าใครไปอ่านละเอียดๆ มันก็มีวิธีการนำมาใช้เช่นกัน ใครขยันอ่าน ก็มาบอกต่อกันได้สำหรับไฟล์อื่นๆ)
3. นำไฟล์ PIE.htc ไปวางไว้ที่ root ของเว็บของเรา หรือไว้ที่เดียวกันกับ ไฟล์ html หรือ php

เมื่อเครื่องมือพร้อม เราก็พร้อมลงมือกันล่ะ

ตัด html ของพวกเราตามปกติ เขียน css ตามปกติที่อยากจะทำ ใส่ border-radius, box-shadow, background-gradient โดยที่ ถ้า class ไหน หรือ element ไหนที่เราใช้ border-radius, box-shadow, background-gradient ใน class หรือ element นั้นๆ ให้เราเพิ่มคำสั่ง behavior: url(PIE.htc); ไปด้วย

ถ้าเป็น background ก็เพิ่มคำสั่ง -pie-background: url(image); ถ้าเป็น img ก็เพิ่ม img {-pie-png-fix: true;} อีก แต่ห้ามลืม behavior: url(PIE.htc);

หมายเหตุ

มันจะมีปัญหาที่บางครั้ง text บนพื้นที่เราทำ border-radius มันหายไปไหนไม่รู้ วิธีการแก้ไขก็คือ ให้ใส่
position: relative; z-index: 0; ไว้ที่ element body ข้อนี้เป็นประสบการณ์ที่ลองทำเอง เพราะใน doc ที่อ่านมา มันแค่บอกว่า ให้ใส่แบบนี้ แต่ไม่ได้บอกว่าให้ใส่ตรงไหน (หรืออาจจะแปลอังกฤษเป็นไทยไม่ค่อยเก่งเลยไม่เข้าใจ) แต่พอลองแล้ว มันก็ใช้ได้ …จึงมาบอกต่อ

ขอขอบคุณ เครื่องมือดีดี จาก
http://css3pie.com/

ทำให้พวกเราได้พัฒนางานให้มีหน้าตาได้มาตรฐานได้เท่ากันทุก browser เพื่อ user ของเรา