<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>Các thủ thuật tối ưu hóa code CSS</title>
<meta name="description" content="Các thủ thuật tối ưu hóa code CSS - Savefile - Blog - https&#x3A;&#x002F;&#x002F;tocdoviet.com&#x002F;blog&#x002F;savefile&#x002F;Tai-lieu-Website&#x002F;Cac-thu-thuat-toi-uu-hoa-code-CSS-199.html">
<meta name="author" content="Tốc Độ Việt - Dịch vụ Hosting, Tên miền, Máy chủ, Thiết kế Website">
<meta name="copyright" content="Tốc Độ Việt - Dịch vụ Hosting, Tên miền, Máy chủ, Thiết kế Website [loc.thb@bazan.vn]">
<meta name="generator" content="NukeViet v4.5">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Các thủ thuật tối ưu hóa code CSS">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Blog - https&#x3A;&#x002F;&#x002F;tocdoviet.com&#x002F;blog&#x002F;savefile&#x002F;Tai-lieu-Website&#x002F;Cac-thu-thuat-toi-uu-hoa-code-CSS-199.html">
<meta property="og:site_name" content="Tốc Độ Việt - Dịch vụ Hosting, Tên miền, Máy chủ, Thiết kế Website">
<meta property="og:url" content="https://tocdoviet.com/blog/savefile/Tai-lieu-Website/Cac-thu-thuat-toi-uu-hoa-code-CSS-199.html">
<link rel="shortcut icon" href="https://tocdoviet.com/favicon.ico">
<link rel="canonical" href="https://tocdoviet.com/blog/savefile/Tai-lieu-Website/Cac-thu-thuat-toi-uu-hoa-code-CSS-199.html">
<link rel="alternate" href="https://tocdoviet.com/blog/rss/" title="Blog" type="application/rss+xml">
<link rel="alternate" href="https://tocdoviet.com/blog/rss/Cau-hoi-thuong-gap/" title="Blog - Câu hỏi thường gặp" type="application/rss+xml">
<link rel="alternate" href="https://tocdoviet.com/blog/rss/Tai-lieu-Ten-Mien/" title="Blog - Tài liệu Tên Miền" type="application/rss+xml">
<link rel="alternate" href="https://tocdoviet.com/blog/rss/Tai-lieu-Hosting/" title="Blog - Tài liệu Hosting" type="application/rss+xml">
<link rel="alternate" href="https://tocdoviet.com/blog/rss/Tai-lieu-May-Chu/" title="Blog - Tài liệu Máy Chủ" type="application/rss+xml">
<link rel="alternate" href="https://tocdoviet.com/blog/rss/Tai-lieu-Ma-Nguon/" title="Blog - Tài liệu Mã Nguồn" type="application/rss+xml">
<link rel="alternate" href="https://tocdoviet.com/blog/rss/Tai-lieu-SEO/" title="Blog - Tài liệu SEO" type="application/rss+xml">
<link rel="alternate" href="https://tocdoviet.com/blog/rss/Tai-lieu-Website/" title="Blog - Tài liệu Website" type="application/rss+xml">
<link rel="alternate" href="https://tocdoviet.com/blog/rss/Tai-lieu-Phan-Mem/" title="Blog - Tài liệu Phần Mềm" type="application/rss+xml">
<link rel="alternate" href="https://tocdoviet.com/blog/rss/Tai-lieu-May-Tinh/" title="Blog - Tài liệu Máy Tính" type="application/rss+xml">
<link rel="preload" as="style" href="https://tocdoviet.com/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://tocdoviet.com/themes/default/css/bootstrap.min.css" type="text/css">
<link rel="preload" as="style" href="https://tocdoviet.com/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://tocdoviet.com/themes/default/css/style.responsive.css" type="text/css">
<link rel="preload" as="style" href="https://tocdoviet.com/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://tocdoviet.com/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://tocdoviet.com/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://tocdoviet.com/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://tocdoviet.com/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://tocdoviet.com/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://tocdoviet.com/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://tocdoviet.com/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://tocdoviet.com/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://tocdoviet.com/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://tocdoviet.com/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://tocdoviet.com/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://tocdoviet.com/themes/default/css/bootstrap.min.css">
<link rel="stylesheet" href="https://tocdoviet.com/themes/default/css/style.css">
<link rel="stylesheet" href="https://tocdoviet.com/themes/default/css/style.responsive.css">
<link rel="StyleSheet" href="https://tocdoviet.com/themes/default/css/news.css">
<link rel="stylesheet" href="https://tocdoviet.com/themes/default/css/custom.css">
<style>
#gom-all-in-one{margin-bottom: 150px;}
@-webkit-keyframes phone-vr-circle-fill {
0% {-webkit-transform: rotate(0) scale(1) skew(1deg); }
10% {-webkit-transform: rotate(-25deg) scale(1) skew(1deg);}
20% {-webkit-transform: rotate(25deg) scale(1) skew(1deg);}
30% {-webkit-transform: rotate(-25deg) scale(1) skew(1deg);}
40% {-webkit-transform: rotate(25deg) scale(1) skew(1deg);}
50% {-webkit-transform: rotate(0) scale(1) skew(1deg);}
100% {-webkit-transform: rotate(0) scale(1) skew(1deg);}
}
@-webkit-keyframes zoom{0%{transform:scale(.9)}70%{transform:scale(1);box-shadow:0 0 0 15px transparent}100%{transform:scale(.9);box-shadow:0 0 0 0 transparent}}@keyframes zoom{0%{transform:scale(.9)}70%{transform:scale(1);box-shadow:0 0 0 15px transparent}100%{transform:scale(.9);box-shadow:0 0 0 0 transparent}}
#button-contact-vr{right:0}
.phone-bar a{
left:auto;right:30px;padding:8px 55px 7px 15px
}
#button-contact-vr.active #gom-all-in-one .button-contact
{
margin-left:100%
}
#button-contact-vr{bottom:30%}
#gom-all-in-one #zalo-vr {
transition: 1s all;
-moz-transition: 1s all;
-webkit-transition: 1s all;
}
#zalo-vr .phone-vr-circle-fill {
box-shadow: 0 0 0 0 #2196f3;
background-color: rgba(33,150,243,.7);
}
.phone-vr-circle-fill {
width: 65px;
height: 65px;
top: 12px;
left: 12px;
position: absolute;
box-shadow: 0 0 0 0 #c31d1d;
background-color: rgba(230,8,8,.7);
border-radius: 50%;
border: 2px solid transparent;
-webkit-animation: phone-vr-circle-fill 2.3s infinite ease-in-out;
animation: phone-vr-circle-fill 2.3s infinite ease-in-out;
transition: all .5s;
-webkit-transform-origin: 50% 50%;
-ms-transform-origin: 50% 50%;
transform-origin: 50% 50%;
-webkit-animuiion: zoom 1.3s infinite;
animation: zoom 1.3s infinite;
}
.phone-vr-img-circle a {
display: block;
line-height: 37px;
}
.phone-vr-img-circle img {
max-height: 25px;
max-width: 27px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
-moz-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
-o-transform: translate(-50%,-50%);
}
#zalo-vr .phone-vr-img-circle {
background-color: #2196f3;
}
.phone-vr-img-circle {
background-color: #e60808;
width: 40px;
height: 40px;
line-height: 40px;
top: 25px;
left: 25px;
position: absolute;
border-radius: 50%;
overflow: hidden;
display: flex;
justify-content: center;
-webkit-animation: phonering-alo-circle-img-anim 1s infinite ease-in-out;
animation: phone-vr-circle-fill 1s infinite ease-in-out;
}
#button-contact-vr .button-contact .phone-vr {
position: relative;
visibility: visible;
background-color: transparent;
width: 90px;
height: 90px;
cursor: pointer;
z-index: 11;
-webkit-backface-visibility: hidden;
-webkit-transform: translateZ(0);
transition: visibility .5s;
left: 0;
bottom: 0;
display: block;
}
#gom-all-in-one #phone-vr {
transition: .7s all;
-moz-transition: .7s all;
-webkit-transition: .7s all;
}
#button-contact-vr .button-contact {
position: relative;
margin-top: 5px;
}
#phone-vr .phone-vr-circle-fill {
opacity: .7;
box-shadow: 0 0 0 0 #d33;
}
.phone-bar a, #phone-vr .phone-vr-circle-fill, #phone-vr .phone-vr-img-circle, #phone-vr .phone-bar a {
background-color: #d33;
}
#button-contact-vr {
bottom: 30%;
}
#button-contact-vr {
position: fixed;
bottom: 0;
z-index: 99999;
}
#popup-showroom-vr, div#popup-form-contact-vr {
display: none;
}
.bg-popup-vr {
position: absolute;
left: 0;
top: 0;
background: rgb(51 51 51/50%);
width: 100%;
height: 100vh;
}
@media (max-width: 673px)
div#popup-form-contact-vr .content-popup-vr {
display: block;
}
.content-popup-vr {
background: #fff;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
width: 95%;
border-radius: 5px;
box-shadow: 0 0 14px 5px rgb(0 0 0/49%);
max-width: 600px;
display: flex;
}
.content-popup-vr .content-popup-div-vr {
width: 100%;
padding: 25px;
}
.content-popup-vr .close-popup-vr {
font-family: sans-serif;
width: 23px;
height: 23px;
background: #000;
position: absolute;
top: -10px;
right: -10px;
color: #fff;
text-align: center;
line-height: 23px;
font-size: 17px;
border-radius: 50%;
cursor: pointer;
}
</style>
<style type="text/css">
	body{background: #fff;}
</style>
<style type="text/css"></style>
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">Tốc Độ Việt - Dịch vụ Hosting, Tên miền, Máy chủ, Thiết kế Website</h2>
		<p class="pull-right"><a title="Tốc Độ Việt - Dịch vụ Hosting, Tên miền, Máy chủ, Thiết kế Website" href="https://tocdoviet.com/">https://tocdoviet.com</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Các thủ thuật tối ưu hóa code CSS</h1>
		<ul class="list-inline">
			<li>Thứ tư - 24/07/2013 14:07</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
			Ai học thiết kế web đầu phải biết CSS và chắc chắn, ai cũng biết CSS là một phần cực kì quan trọng để tạo nên sự thành công của website.
		</div>
				<div class="imghome">
			<img alt="Các thủ thuật tối ưu hóa code CSS" src="https://tocdoviet.com/uploads/blog/2013_07/csseditlogo1.png" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			Nó bao gồm hầu hết các màu sắc, kích cỡ, vị trí, background, fonts… sẽ hiển thị trên website. Tuy nhiên, nếu không biết cách khai thác CSS, dung lượng file CSS sẽ phình to rất nhanh dẫn đến trang web load một cách chậm chạp. Các mẹo dưới đây sẽ hướng dẫn bạn một số cách để “trong sáng hóa” code và giảm tối thiếu dung lượng file .css<br  /><div style="text-align: center;"> &nbsp;</div><strong>1. Tổng Hợp Lại Những Thuộc Tính Chung</strong>Bạn nên kết hợp những thuộc tính. Ví dụ, để thiết lập thuộc tính margin cho một đối tượng, bạn thường viết:<br  /><br  />margin-top: 8px;<p> margin-right: 4px;<br  /> margin-bottom: 8px;<br  /> margin-left: 4px;<br  /> <br  /> Code này hoàn toàn không có gì sai. Tuy nhiên, nếu trong trường hợp bạn cần set margin cho cả 4 cạnh thì có một cách khác dễ thực hiện hơn nhiều:</p><br  />margin: 8px 4px 8px 4px;<br  /><p> <strong>Trên – Phải – Dưới – Trái</strong>. Đây là thứ tự để set thuộc tính nhanh, không chỉ của margin mà padding cũng như vậy .</p>Ví dụ 2: Thay vì sử dụng như thế này:<br  /><br  />background-image: url(bk_main.jpg);<br  /><br  />background-repeat: repeat-x;<br  /><br  />background-color: #ccccff;<br  /><p> bạn nên viết code lại như thế này:</p><br  />background: #ccccff url(bk_main.jpg) repeat-x;<p> <br  /> <strong>2. Nhóm Các Style Chung Lại Với Nhau</strong>Bạn xem đoạn code bên dưới:</p><br  />H2<br  />{<br  />font-size: 16pt;<br  />color: #4169e1;<br  />font-family: &#039;Trebuchet MS&#039; , Arial;<br  />margin: 4px 0px 2px;<br  />padding-left: 10px;<br  />ext-decoration: underline;<br  />}<p> H3<br  /> {<br  /> &nbsp;&nbsp;&nbsp; font-size: 14pt;<br  /> &nbsp;&nbsp;&nbsp; color: #4169e1;<br  /> &nbsp;&nbsp;&nbsp; font-family: &#039;Trebuchet MS&#039; , Arial;<br  /> &nbsp;&nbsp;&nbsp; margin: 4px 0px 2px;<br  /> &nbsp;&nbsp;&nbsp; padding-left: 10px;<br  /> &nbsp;&nbsp;&nbsp; text-decoration: underline;<br  /> }</p>Trong đoạn code trên, ta thấy, cả H2 và H3 đều có chung các thuộc tính: color, font-family, margin, padding-left và text-decoration. Vậy tại sao lại phải chia ra như vậy cho tốn tài nguyên nhỉ?<br  />Cách dưới đây là tối ưu và hoàn toàn không khác gì so với code bên trên:<p> H2, H3<br  /> {<br  /> &nbsp;&nbsp;&nbsp; color: #4169e1;<br  /> &nbsp;&nbsp;&nbsp; font-family: &#039;Trebuchet MS&#039; , Arial;<br  /> &nbsp;&nbsp;&nbsp; margin: 4px 0px 2px;<br  /> &nbsp;&nbsp;&nbsp; padding-left: 10px;<br  /> &nbsp;&nbsp;&nbsp; text-decoration: underline;<br  /> }<br  /> H2<br  /> {<br  /> &nbsp;&nbsp;&nbsp; font-size: 16pt;<br  /> }<br  /> H3<br  /> {<br  /> &nbsp;&nbsp;&nbsp; font-size: 14pt;<br  /> }</p>Như các bạn đã thấy, tôi đã gom các thuộc tính chung lại với nhau. Chỉ có thuộc tính font-size là khác nhau nên mới tách ra<br  /><strong>3. Viết Tắt Mã Màu Thập Lục Phân Đối Với Các Màu Đơn Giản</strong>Tôi xin đưa ra ba ví dụ để các bạn dễ hình dung:<p> #99ff33 có thể thay thế bằng #9f3<br  /> #ff0000 có thể thay thế bằng #f00<br  /> #000000 có thể thay thế bằng #000</p>Nếu bạn sử dụng DreamWeaver để thiết kế web thì khi chọn màu từ bảng mã màu của chương trình, DW sẽ tự động rút gọn mã màu cho bạn<br  /><strong>4. Chỉ Sử Dụng Class Cho Đối Tượng Chính</strong>Ví dụ bạn cần vẽ một menu như thế này:<p> Home<br  /> About<br  /> Contact<br  /> Sitemap</p>Thực sự không cần làm vậy. Bạn chỉ cần vẽ một thẻ div và set class cho nó, sau đó, chứa tất cả các thẻ<br  />trong đó:<p> Home<br  /> About<br  /> Contact<br  /> Sitemap</p><br  /><strong>5. Đừng Lạm Dụng Comment</strong>Khá nhiều bạn thích comment trong file css để sau này lỡ có public thì có người biết là hàng độc của mình . Tuy nhiên, điều này dễ làm cho file css trở nên nặng nề:<p> /**************************************/<br  /> /**********Coded By DDS*********/<br  /> /*************************************/</p>Bạn nên rút gọn lại, và chỉ viết dòng giữa thôi nhé ^^:<p> /*Coded By DDS*/</p><strong>6. Không Chèn Thẳng Style Vào Đối Tượng</strong>Không nên chèn style vào trong đối tượng như thế này, trừ khi bạn chỉ làm một file HTML vô cùng đơn giản (Trường hợp này bây giờ khá là hiếm):<p> Home<br  /> About<br  /> Contact<br  /> Sitemap</p>Có khá nhiều lí do để bạn không nên làm vậy:<br  /><br  />- Làm file HTML trở nên nặng nề<br  />- Các đối tượng đều có chung tất cả các thuộc tính tại sao không tách riêng ra và đưa tất về thành class myMenu, đáp ứng yêu cầu “trong sáng hóa” file CSS<br  /><br  /><strong>7. Xóa Các Khoảng Trắng Dài Và Các Kí Tự Xuống Dòng</strong>Không nên quan niệm khoảng trắng và kí tự xuống dòng không làm file css nặng nề. Nếu file CSS của bạn chỉ có cỡ 10<br  />dòng thì không đáng quan tâm. Nhưng nếu file CSS cơ 200 dòng thì lại là vấn đề khác. Mỗi khoảng trắng là một kí tự ASCII, còn kí tự xuống dòng cần tới tận hai kí tự ASCII để thực hiện việc này: Xuống dòng, trở về đầu hàng!
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://tocdoviet.com/blog/savefile/Tai-lieu-Website/Cac-thu-thuat-toi-uu-hoa-code-CSS-199.html" title="Các thủ thuật tối ưu hóa code CSS">https://tocdoviet.com/blog/savefile/Tai-lieu-Website/Cac-thu-thuat-toi-uu-hoa-code-CSS-199.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; Tốc Độ Việt - Dịch vụ Hosting, Tên miền, Máy chủ, Thiết kế Website
		</div>
		<div id="contact">
			<a href="mailto:loc.thb@bazan.vn">loc.thb@bazan.vn</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://tocdoviet.com/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
        <div id="button-contact-vr" class=""><div id="gom-all-in-one"><div id="zalo-vr" class="button-contact"><div class="phone-vr"><div class="phone-vr-circle-fill"></div><div class="phone-vr-img-circle">
<a target="_blank" href="https://zalo.me/0888037777">
<img src="https://tocdoviet.com/themes/default/images/zalo.png">
</a></div></div></div><div id="phone-vr" class="button-contact"><div class="phone-vr"><div class="phone-vr-circle-fill"></div><div class="phone-vr-img-circle">
<a href="tel:0888037777">
<img src="https://tocdoviet.com/themes/default/images/phone.png">
</a></div></div></div></div></div><div id="popup-form-contact-vr"><div class="bg-popup-vr"></div><div class="content-popup-vr" id="loco-" style=" "><div class="content-popup-div-vr"></div><div class="close-popup-vr">x</div></div></div><div id="popup-showroom-vr"><div class="bg-popup-vr"></div><div class="content-popup-vr" id="loco-" style=" "><div class="content-popup-div-vr"></div><div class="close-popup-vr">x</div></div></div>
<script src="https://tocdoviet.com/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="blog",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=1,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://tocdoviet.com/assets/js/language/vi.js"></script>
<script src="https://tocdoviet.com/assets/js/DOMPurify/purify3.js"></script>
<script src="https://tocdoviet.com/assets/js/global.js"></script>
<script src="https://tocdoviet.com/assets/js/site.js"></script>
<script src="https://tocdoviet.com/themes/default/js/news.js"></script>
<script src="https://tocdoviet.com/themes/default/js/main.js"></script>
<script src="https://tocdoviet.com/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://tocdoviet.com",
            "logo": "https://tocdoviet.com/assets/images/logo.png"
        }
        </script>
<script src="https://tocdoviet.com/themes/default/js/bootstrap.min.js"></script>
</body>
</html>