Code trình diễn ảnh cực đẹp

Hôm nay mình sẽ giới thiệu các bạn một code trình diễn ảnh cực đẹp


Demo
Code
1. Cho code  sau vào thẻ head
<style type="text/css">

.flashclass{ /*sample CSS class added to image slideshow container*/
width: 200px; /*a width should be defined for transition to work*/
border: 5px solid orange;
padding: 5px;
}

.flashclass img{
border-width: 0;
}

</style>

<script type="text/javascript" src="http://bloggiaovienthaibinh.110mb.com/anh3/transitionshow.js"></script>
2. Code sau cho vào thẻ body ( chỗ nào muốn hiển thị)

<script type="text/javascript">

var flashyshow=new flashyslideshow({ //create instance of slideshow
    wrapperid: "myslideshow", //unique ID for this slideshow
    wrapperclass: "flashclass", //desired CSS class for this slideshow
    imagearray: [
        ["1.jpg", "http://webtruonghoc.oni.cc", "_new", "Thủ thuật blog violet."],
        ["2.jpg", "http://webtruonghoc.oni.cc", "", "Thiết kế web trường học?"],
        ["3.jpg", "http://webtruonghoc.oni.cc", "", "Code cho blog."],
        ["4.jpg", "http://webtruonghoc.oni.cc", "", "Hệ thống tra cứu điểm trường học."]
    ],
    pause: 2000, //pause between content change (millisec)
    transduration: 1000 //duration of transition (affects only IE users)
})

</script>

3.HD
- Các bạn thay link ảnh ,link web khi click vào ảnh và lời giới thiệu về ảnh
        ["1.jpg", "http://webtruonghoc.oni.cc", "_new", "Thủ thuật blog violet."],
        ["2.jpg", "http://webtruonghoc.oni.cc", "", "Thiết kế web trường học?"],
        ["3.jpg", "http://webtruonghoc.oni.cc", "", "Code cho blog."],
        ["4.jpg", "http://webtruonghoc.oni.cc", "", "Hệ thống tra cứu điểm trường học."]
-Muốn nhiều ảnh các lặp lại code trên
Chú ý : Với blog violet thì các bạn cho tất  code trên vào khối chức năng là được
Kích thước anhe lên điểu chính cho cùng kích thước

Code trình diễn ảnh tuyệt đẹp cho vào blog

Hôm nay mình post tặng các bạn code trình diễn ảnh rất đẹp

Demo
http://caobang83.webng.com/slides2/

Code
1.Code sau các bạn cho vào thẻ head nhé

<script type="text/javascript" src="http://caobang83.webng.com/slides2/jquery.js"></script>
    <script type="text/javascript" src="http://caobang83.webng.com/slides2/jquery.nivo.slider.pack.js"></script>
    <link rel="stylesheet" href="http://caobang83.webng.com/slides2/nivo-slider.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="http://caobang83.webng.com/slides2/themes/default.css" type="text/css" media="screen" />

    <style>
    .theme-default #slider, .theme-default #slider img
    {
        top:100px;
        left: 20%;
        width:700px; /* Chiều rộng */
        height:300px; /* Chiều cao */

    }
    html, body, div, span, applet, object, iframe,
    h1, h2, h3, h4, h5, h6, p, blockquote, pre,
    a, abbr, acronym, address, big, cite, code,
    del, dfn, em, font, img, ins, kbd, q, s, samp,
    small, strike, strong, sub, sup, tt, var,
    dl, dt, dd, ol, ul, li,
    fieldset, form, label, legend,
    table, caption, tbody, tfoot, thead, tr, th, td {
        margin:0;
        padding:0;
        border:0;
        outline:0;
        font-weight:inherit;
        font-style:inherit;
        font-size:100%;
        font-family:inherit;
        vertical-align:baseline;
    }
    body {
        line-height:1;
        color:black;
        background:white;
    }
    table {
        border-collapse:separate;
        border-spacing:0;
    }
    caption, th, td {
        text-align:left;
        font-weight:normal;
    }
    body {
    font:14px/1.6 Georgia, Palatino, Palatino Linotype, Times, Times New Roman, serif;
    color:#333;
    background:#eee;
    }
  
    a, a:visited {
        color:blue;
        text-decoration:none;
    }
    a:hover, a:active {
        color:#000;
        text-decoration:none;
    }

    </style>
    <script type="text/javascript">
    $(window).load(function() {
        $('#slider').nivoSlider({
        animSpeed: 1000,// Tốc độ trượt ảnh, quy định 1000 = 1giây
        pauseTime: 3000, // Tốc độ chuyển ảnh A sang ảnh B
        startSlide: 2 // Để ảnh số mấy hiển thị đầu tiên, Ảnh số 1 để startSlide: 0

        });
    });
    </script>

2. Code sau các bạn cho vào thẻ body nhé chôc nào muốn hiển thị

<div class="slider-wrapper theme-default">
            <div id="slider" class="nivoSlider">
                <a href="http://webtruonghoc.oni.cc"><img src="http://doxinh.com/templates/default/img/jqbanner/doxinh_1.jpg" alt="" title="Điền nội dung vào đây 1" /></a>
                <a href="http://webtruonghoc.oni.cc"><img src="http://doxinh.com/templates/default/img/jqbanner/doxinh_2.jpg" alt="" title="Điền nội dung vào đây 2" /></a>
                <a href="http://webtruonghoc.oni.cc><img src="http://doxinh.com/templates/default/img/jqbanner/doxinh_3.jpg" alt="" title="Điền nội dung vào đây 3" /></a>

                <a href="http://webtruonghoc.oni.cc"><img src="http://doxinh.com/templates/default/img/jqbanner/doxinh_4.jpg" alt="" title="Điền nội dung vào đây 4" /></a>
                <a href="http://webtruonghoc.oni.cc"><img src="http://doxinh.com/templates/default/img/jqbanner/doxinh_5.jpg" alt="" title="Điền nội dung vào đây 5" /></a>
            </div>
        </div>

3.Hướng dẫn
-Các bạn chỉnh sửa phần in đậm ở code 1 còn lại để nguyên
-Các bạn thay đổi link liên kết ,link ảnh , nội dung ở code 2

Hình nền cho từng thành phần của blog





B
ạn đã làm hình nền cho blog của mình chưa? Nếu chưa, hãy đọc bài viết này. Hôm nay tôi hướng dẫn một cách làm hình nền khác: hình nền cho từng phần của blog (header, main, sidebar, footer).





Template theo mặc định bao gồm 4 thành phần chính: header (đầu: chứa tên, miêu tả blog, main (chính: hiển thị bài viết), sidebar (thành phần bên của trang, nằm bên trái hoặc phải hay cả hai), footer (thành phần dưới cùng).


Hiển thị
Hình 2. Layout


Các thành phần trên layout
Hình 1. Mô hình hiển thị


Làm sao để làm hình nền từng thành phần này? Sau khi đăng nhập blogger.com, bạn vào Edit HTML, kéo thanh trượt sẽ tìm thấy các thành phần này.

A. Thành phần Header
#header-wrapper {
width:660px;
margin:0 auto 10px;
border:1px solid $bordercolor;
}

B. Thành phần Main
#main-wrapper {
width: 410px;
float: left;
word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
overflow: hidden; /* fix for long non-text content breaking IE sidebar float */
}

C. Thành phần Sidebar
#sidebar-wrapper {
width: 220px;
float: right;
word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
overflow: hidden; /* fix for long non-text content breaking IE sidebar float */
}

D. Thành phần Footer
#footer {
width:660px;
clear:both;
margin:0 auto;
padding-top:15px;
line-height: 1.6em;
text-transform:uppercase;
letter-spacing:.1em;
text-align: center;
}

Như bạn đã biết cách chèn hình nền cho blog, đoạn mã liên kết đến hình:

background-image:url(http://www.vidu.com/hinh.jpg);

Trong đó http://www.vidu.com/hinh.jpg là liên kết đến hình nền. Như vậy muốn chèn vào header, bạn sẽ chèn như sau:

#header-wrapper {
width:660px;
background-image:url(http://www.vidu.com/hinh.jpg);
margin:0 auto 10px;
border:1px solid $bordercolor;
}

Cách chèn tương tự cho các thành phần khác.

Kích thước hình nền cho từng thành phần

Tùy theo width của mỗi thành phần. Các tối ưu nhất hình nền cho từng thành phần có chiều ngang bằng với width của mỗi thành phần. Chiều dọc càng nhỏ càng tốt.

Ví dụ thành phần main và sidebar sẽ kéo dài hoặc thu hẹp chiều dọc theo nội dung bài viết hay số lượng widget được thêm vào, điều này chúng ta không thể kiểm soát được, vì vậy sử dụng ảnh có chiều ngang bằng width của mỗi thành phần, chiều dọc nhỏ để tự động lặp lại theo độ dài hiển thị. Theo các con số như ví dụ trên, chúng ta sẽ thiết kế hình nền với chiều ngang 410px cho main và 220px cho sidebar. Một tấm ảnh vừa phải có kích thước 410 x 10 là tương đối hợp lý. Cần thêm vào đoạn mã sau để hình nền lặp lại theo chiều dọc:

background-repeat: repeat-y;

Để hình nền này nằm vị trí cân đối, bạn có thể thêm vào:

background-position: center center;

Lưu ý thêm, bạn có thể định nghĩa màu nền cho toàn bộ blog của mình sao cho tương phản và làm nổi bậc các thành phần. Có hai cách để làm việc này.

Cách 1. Bạn chọn Font and Colors (Màu và chữ) trên Template, chọn màu cho background

Cách 2. Vào Edit HTML, bạn kéo thanh trược để tìm:

body {
background:$bgcolor;
margin:0;
color:$textcolor;
font:x-small Georgia Serif;
font-size/* */:/**/small;
font-size: /**/small;
text-align: center;
}

Trong đó background:$bgcolor; định màu nền thay đổi theo lựa chọn của bạn ở cách trên. Hãy lấy mã màu thập lục và chèn thẳng. Ví dụ, màu trắng như sau:

background:#ffffff;

Chúc bạn thành công!

Vài lưu ý về sử dụng hình nền


Kết quả thống kê từ công cụ tìm kiếm cho thấy nhiều bạn đọc quan tâm đến hình nền cho blog của mình. Vì vậy tôi quyết định viết thêm một số bài liên quan đến sử dụng hình nền. Ở bài viết này, chúng ta sẽ lưu ý một số điều về việc sử dụng hình nền.

Kích thước của hình nền thiết kế

Một blog đẹp hẳn phải có một hình nền đẹp, kết hợp màu sắc, kiểu chữ cộng với cách bố trí giao diện hợp lý. Muốn có một hình nền theo phong cách “không đụng hàng” bạn phải tự thiết kế cho mình. Các chương trình xử lý đồ họa như Adobe Photoshop, Google Picasa,… giúp bạn thực hiện việc này. Vậy kích thước cho hình nền bao nhiêu?

Kích thước ngang của blog
Đăng nhập vào blogger.com, chọn layout ->Edit HTML (Trên Template) và kéo thanh trượt để tìm outer-wrapper.

/* Outer-Wrapper
----------------------------------------------- */
#outer-wrapper {
width: 883px;
margin:0 auto;
padding:10px;
text-align:left;
font: $bodyfont;
}

Đây là kích thước chiều ngang (width) của blog, đơn vị tính px (pixel). Chiều dọc không bị giới hạn. Tất cả theo mặc định. Tất nhiên không ai cấm bạn thay đổi. Phụ thuộc vào cách trình bày và giao diện theo template, bạn có thể thay đổi width cho template 2 cột bằng 800, hay 1024 cho 3 cột trở lên.

Để hình nền hiển thị, bạn phải chèn đoạn mã hướng dẫn bên dưới vào vị trí bên dưới.

background-image:url(http://www.vidu.com/hinh.jpg);

Vị trí chèn:

/* Use this with templates/template-twocol.html */

body {
background:$bgcolor;
margin:0;
background:#ffffff; 
background-image:url(
http://www.vidu.com/hinh.jpg);
color:$textcolor;
font: x-small "Trebuchet MS", Trebuchet, Verdana, Sans-serif;
font-size/* */:/**/small;
font-size: /**/small;
text-align: center;
}

Hãy thay http://www.vidu.com/hinh.jpg (liên kết đến hình nền của bạn), như: http://i198.photobucket.com/albums/aa172/giangdaytructuyen/thuthuatchoblogger/ttcbloggerbg1.jpg


Theo tôi, một trong ba cách dùng hình nền như sau có thể được sử dụng.

Cách 1. Dùng các ảnh có kích thước màn hình chuẩn (ngang x dọc) như: 800 x 600, 1024 x 768, …Hình nền sẽ bao phủ toàn bộ blog. Và đoạn mã sau dành cho cách này:

background-image: url(http://www.vidu.com/hinh.jpg);
background-repeat: no-repeat;
background-attachment:fixed;
background-position:center center;


Giải thích:
background-repeat: no-repeat; (hình nền bao phủ hết trang nên chúng ta không cần để nó lặp lại) background-attachment:fixed; (cố định hình nền ở một vị trí nhất định)
background-position:center center;(canh giữa ngang và dọc cho trang)


Cách 2. Hình nền có kích thước không theo màn hình chuẩn. 

Trường hợp 1: Bạn sử dụng ảnh có width bằng kích thước ngang của màn hình chuẩn, ví dụ: 1024, 800,…
Và đoạn mã này phù hợp cho bạn:

background-image: url(http://www.vidu.com/hinh.jpg);
background-repeat: repeat-y;
background-position:center center;


Giải thích:
background-repeat: repeat-y; (hình nền lặp lại theo chiều dọc phủ đầy trang)
background-position:center center;(canh giữa ngang và dọc cho trang)

Trường hợp 2: Bạn sử dụng ảnh có width không bằng kích thước ngang của màn hình chuẩn. Và đoạn mã này phù hợp cho bạn:


background-image: url(http://www.vidu.com/hinh.jpg);
background-position:center center;


Giải thích:
background-position:center center;(canh giữa ngang và dọc cho trang)
Hình ảnh sẽ lặp phủ đầy trang, theo mặc định.

Trường hợp 3. Tối ưu trường hợp 2, ảnh nền của bạn dùng có kích thước dài rộng bằng nhau.Hãy tưởng tượng những viên gạch lót nền có hoa văn giống nhau và gắn kết với nhau hoàn chỉnh bộ nền nhà. Bạn chỉ cần là một viên gạch để làm hình nền, viên gạch này sẽ lặp lại và bao phủ hết màn hình. Ví dụ: 20x20, 50 x 50, …Đoạn mã tương tự như trên.

Bài viết sau tôi sẽ hướng dẫn dùng hình nền cho từng thành phần riêng rẻ, và bài viết tiếp đó hướng dẫn hình nền cong góc của mỗi thành phần. Mời bạn đón đọc.

Chúc một tuần học tập và làm việc hiệu quả!

Hình nền cho blog





Nhiều bạn hỏi tôi chèn hình nền như thế nào? Cách dưới đây tôi hướng dẫn bạn chèn hình nền vào blog. Trước tiên bạn phải có hình nền sẳn. Nếu bạn là dân chuyên về đồ họa, có thể design cho mình một cái tùy thích. Thông thường bạn có thể chọn hình nền có kích thước nhỏ lặp lại hay một hình đầy đủ toàn màn hình. Theo thống kê, kích thước màn hình 1024x728 được dùng nhiều nhất. Bạn có thể download gói wallpaper 3D chứa nhều ảnh rất đẹp với kích thước này, sau đó đưa GooglePages hay các trang chia sẻ ảnh để lấy liên kết.


NỀN MÀU

Bạn có thể đổi màu nền cho blog bằng cách vào Template | Fonts and Color. Trong khung nhỏ phía bên trái, bạn chọn Page Background Color và chọn màu mình muốn.

Bạn có thể sửa lại màu nền trong đây nếu bạn biết mã màu.

background-color:#E31122;


HÌNH NỀN CHO HEADER
 (Xem chi tiết).

HÌNH NỀN CHO SIDEBAR

Để chèn hình nền cho sidebar bạn vào Template | Edit HTML, kéo thanh trượt xuống phía dưới tìm cho được đoạn mã và chèn bên như bên dưới:

#sidebar-wrapper {
 background-image: url(LIÊN KẾT ĐẾN HÌNH ẢNH);


Trong đó LIÊN KẾT ĐẾN HÌNH ẢNH phải là liên kết đến hình ảnh. Có dạng như: http://www.vidu.com/hinh.jpg

Click SAVE CHANGES để lưu lại. Nếu blog bạn có nhiều sidebar-wrapper, bạn cũng làm tương tự.

HÌNH NỀN CHO MAIN


Tương tự như vậy bạn có thể chèn hình nền cho main-wrapper phía dưới dòng.
#main-wrapper {


HÌNH NỀN CHO TOÀN BỘ TRANG

Tương tự nhưng bạn chèn phía dưới.
body {


HÌNH ẢNH LẶP


Theo mặc định, hình nền của bạn sẽ bị lặp lại tùy thuộc vào kích cở hình cũng như cách bố trí trang và ký tự có trên blog của bạn. Nếu hình ảnh bạn dùng có kích thước nhỏ, cần lặp lại để phủ đầy trang thì quả là tuyệt. Còn ảnh kích thước lớn, không muốn lặp lại thì sao? Bạn chỉ việc thêm đoạn mã này phía dưới dòng liên kết đến ảnh.
background-repeat: no-repeat;


VỊ TRÍ HÌNH NỀN

Nếu bạn cần điều chỉnh vị trí hình nền hãy sử dụng đoạn mã này bên dưới các đoạn mã trên.

background-position: Y X;

Hãy tưởng tượng hệ tọa độ OXY, trong đó:

Y: trục tung, canh dọc.
X: trục hoành, canh ngang.

Giá trị của nó là:

Y: top, center, bottom (đầu, giữa, cuối)
X: left, center, right (trái, giữa, phải)


Ví dụ:

Bạn muốn hình nền nằm phía dưới, góc trái: background-position: bottom left;
Bạn muốn hình nền canh giữa trên: background-position: center center;

CỐ ĐỊNH HÌNH NỀN

Để cố định hình nền bạn đặt dòng sau phía dưới đoạn mã liên kết đến ảnh.

background-attachment: fixed;


TẤT CẢ TRONG MỘT

body {
background-color: #E31122;
background-image: url(LIÊN KẾT ĐẾN HÌNH ẢNH);
background-repeat: no-repeat;
background-position: center center;
background-attachment: fixed;


Hãy xem blog của tôi như là kết quả hiển thị.

Tạo mầu nền riêng cho bài đăng mới nhất

Chúng ta bắt gặp đâu đó những blog mà ở trang chủ bài đăng mới nhất có mầu nền khác biệt so với những bài đăng còn lại. Việc làm này phần nào gây sự chú ý cho độc giả đối với bài đăng đó.
first post

Hôm nay mình sẽ hướng dẫn các bạn tạo mầu nền riêng cho bài đăng mới nhất trong Blogger.

Bước 1: Tạo id first-post quy định mầu nền cho bài đăng mới nhất. Thêm đoạn mã dưới đây vào trước thẻ ]]></b:skin> trong template của bạn.
#first-post{background:#DDD}

Bước 2: Tìm thẻ <b:include data='post' name='post'/> và thay thế nó bằng đoạn mã dưới đây.
<b:if cond='data:blog.url == data:blog.homepageUrl'>
 <b:if cond='data:post.isFirstPost == &quot;true&quot;'>
  <div id='first-post'>
   <b:include data='post' name='post'/>
  </div>
 <b:else/>
  <b:include data='post' name='post'/>
 </b:if>
<b:else/>
 <b:include data='post' name='post'/>
</b:if>

Thủ thuật trên thêm thuộc tính background là mầu nền với giá trị #DDD, tùy vào từng template mà bạn thay đổi cho phù hợp.

Bạn có thể thêm những thuộc tính khác cho id first-post để bài đăng mới nhất có nhiều sự khác biệt hơn.

Bài viết liên quan có hình ảnh cho Blogger [Hàng Dọc and Hàng Ngang]



related postsKhi đặt bút viết bài này (chính xác hơn là đặt tay lên bàn phím) mình băn khoăn không biết có nên viết không. Đây là chủ đề không mới và có thể 1 số bạn không xem xét kỹ code mà chỉ lướt qua tiêu đề rồi cho rằng mình lấy code ở 1 nơi khác rồi xào lại. Ở bài Bài viết liên quan cho Blogger - Related Posts mình có nói thủ thuật được phát triển bởi một blogger người Ấn Độ. Thực ra code ban đầu mình xem ở 1 template tại Btemplates và nó có nhược điểm là vẫn hiển thị tên bài đang xem ở danh sách bài viết liên quan. Khi tình cờ vào blog của Harish mình để ý thấy lỗi này đã được fix và mình cho rằng Harish đã sửa được lỗi đó. Tuy nhiên blog này có viết bài về phân trang và sử dụng code của Abu Farhan nhưng đề bản quyền bởi Harish thì mình tự hỏi điều tương tự có xảy ra với Related Posts?

Quay lại bài viết này. Khi chưa có widget Popular Posts thì ảnh ở feed có kích thước với ảnh trên blog nên mình không quan tâm đến Related Posts with thumbnails vì cho rằng nó làm giảm tốc độ của blog. Hiện nay ảnh ở đây có kích thước 72x72 pixels, vấn đề dung lượng không còn quan trọng và mình bắt đầu thêm hiển thị ảnh. Khi test với bài viết có hơn 2 nhãn mình mới phát hiện ra hình ảnh không còn đúng với bài viết, nguyên nhân do chưa khai báo biến này trong hàm removeRelatedDuplicates (đây là hàm loại bỏ nội dung trùng lặp, khi mà 1 bài viết xuất hiện ở 2 nhãn). Như vậy ở bài Bài viết liên quan cho Blogger - Related Posts lâu nay đã bị lỗi hiển thị ngày tháng đăng bài khi ở bài viết gắn với hơn 1 nhãn. Qua bài viết này mình cũng muốn thông báo và xin lỗi đến những bạn đã áp dụng thủ thuật đó, mình đã update lại code.

Những thủ thuật mình giới thiệu nếu chủ đề không mới thì có nghĩa mình đã thêm một vài tính năng nào đó, Related Posts with thumbnails cũng vậy. Thừa hưởng từ thủ thuật trước là loại bỏ bài viết đang xem ở danh sách bài viết liên quan thì ở bản này mình thêm hình ảnh, ngày tháng đăng bài và số lượng comments trong bài viết đó, đây là những thông tin mà mình cảm thấy cần thiết. Ngoài ra thì mình có thêm 2 tính năng nữa là hiển thị thông báo không có bài viết liên quan (điều này xảy ra khi trong 1 nhãn chỉ có 1 bài viết và bài viết đó cũng chỉ gắn với 1 nhãn) và lựa chọn có hiển thị số lượng comments hay không (dành cho blog chỉ đơn giản như 1 trang tin và không bật commnet hoặc là blog không sử dụng comment mặc định của Blogger).

Ở đây mình giới thiệu 2 kiểu là hiển thị theo hàng dọc và hiển thị theo hàng ngang.

1. Hiển thị Related Posts theo hàng dọc.



related posts thumbnails style 1

  • Bước 1: Thêm đoạn mã dưới đây vào trước thẻ ]]></b:skin> trong template của bạn.
    #related-posts{float:left}
    #related-posts ul{margin:0;padding:0;list-style-type:none}
    #related-posts ul li{padding:10px 0}
    #related-posts ul li:hover img{width:42px;height:42px;padding:0}
    #related-posts img{float:left;border:1px solid #BBB;margin-right:10px;width:36px;height:36px;background:#FFF;padding:3px}
    #related-posts h3{margin:0;font-size:16px}
  • Bước 2: Thêm đoạn mã dưới đây vào sau thẻ <div class='post-footer'>trong template của bạn.
    <b:if cond='data:blog.pageType == &quot;item&quot;'>
    <div style='clear:both'/>
    <div id='related-posts'>
    <script type='text/javascript'>var ry='<h2>Bài viết liên quan</h2>';rn='<h2>Không có Bài viết liên quan</h2>';rcomment='Nhận xét';rdisable='Tắt Nhận xét';commentYN='yes';</script>
    <script type='text/javascript'>
    //<![CDATA[
    var dw='';titles=new Array();titlesNum=0;urls=new Array();timeR=new Array();thumb=new Array();commentsNum=new Array();comments=new Array();function related_results_labels(c){for(var b=0;b<c.feed.entry.length;b++){var d=c.feed.entry[b];titles[titlesNum]=d.title.$t;for(var a=0;a<d.link.length;a++){if('thr$total' in d){commentsNum[titlesNum]=d.thr$total.$t+' '+rcomment}else{commentsNum[titlesNum]=rdisable};if(d.link[a].rel=="alternate"){urls[titlesNum]=d.link[a].href;timeR[titlesNum]=d.published.$t;if('media$thumbnail' in d){thumb[titlesNum]=d.media$thumbnail.url}else{thumb[titlesNum]='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSx-FfpYQWePJDxUz0J-M7LIi6P_ME_Vbzs-0vCcod6fxNU9nBfxXJRr5ETLV-24rC7GyHpH_GKAg_tkT-xSK_V9BHAlqf1QhJAkFvgoljSOiCouD7pCp8z805PbWzLuS2AtKKkkjim3LZ/'};titlesNum++;break}}}}function removeRelatedDuplicates(){var b=new Array(0);c=new Array(0);e=new Array(0);f=new Array(0);g=new Array(0);for(var a=0;a<urls.length;a++){if(!contains(b,urls[a])){b.length+=1;b[b.length-1]=urls[a];c.length+=1;c[c.length-1]=titles[a];e.length+=1;e[e.length-1]=timeR[a];f.length+=1;f[f.length-1]=thumb[a];g.length+=1;g[g.length-1]=commentsNum[a]}}urls=b;titles=c;timeR=e;thumb=f;commentsNum=g}function contains(b,d){for(var c=0;c<b.length;c++){if(b[c]==d){return true}}return false}function printRelatedLabels(a){for(var b=0;b<urls.length;b++){if(urls[b]==a){urls.splice(b,1);titles.splice(b,1);timeR.splice(b,1);thumb.splice(b,1);commentsNum.splice(b,1)}}var c=Math.floor((titles.length-1)*Math.random());var b=0;if(titles.length==0){dw+=rn}else{dw+=ry;dw+='<ul>';while(b<titles.length&&b<20&&b<maxresults){if(commentYN=='yes'){comments[c]=' - '+commentsNum[c]}else{comments[c]=''};dw+='<li><img alt="'+titles[c]+'" src="'+thumb[c]+'"/><div><h3><a href="'+urls[c]+'" rel="nofollow">'+titles[c]+'</a></h3><span>'+timeR[c].substring(8,10)+'/'+timeR[c].substring(5,7)+'/'+timeR[c].substring(0,4)+comments[c]+'</span></div></li><div style="clear:both"></div>';if(c<titles.length-1){c++}else{c=0}b++}dw+='</ul>'};urls.splice(0,urls.length);titles.splice(0,titles.length);document.getElementById('related-posts').innerHTML=dw};
    //]]>
    </script>
    <b:loop values='data:post.labels' var='label'>
    <script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?alt=json-in-script&amp;callback=related_results_labels&quot;' type='text/javascript'/>
    </b:loop>
    <script type='text/javascript'>var maxresults=6;removeRelatedDuplicates();printRelatedLabels('<data:post.url/>');</script>
    </div>
    <div style='clear:both'/>
    </b:if>

2. Hiển thị Related Posts theo hàng ngang.



related posts thumbnails style 2

  • Bước 1: Thêm đoạn mã dưới đây vào trước thẻ ]]></b:skin> trong template của bạn.
    #related-posts{float:left}
    #related-posts ul{margin:5px 0;width:524px;padding:0;list-style-type:none}
    #related-posts ul li{position:relative;float:left;border:0 none;margin-right:11px;width:76px}
    #related-posts ul li:hover{z-index:98}
    #related-posts ul li:hover img{border:3px solid #BBB}
    #related-posts ul li:hover div{position:absolute;top:40px;left:10px;margin-left:0;width:200px}
    #related-posts ul li img{border:3px solid #DDD;width:70px;height:70px;background:#FFF}
    #related-posts ul li div{position:absolute;z-index:99;margin-left:-999em}
    #related-posts ul li .title{border:1px solid #CCC;background:#FFF;padding:5px 10px}
  • Bước 2: Thêm đoạn mã dưới đây vào sau thẻ <div class='post-footer'>trong template của bạn.
    <b:if cond='data:blog.pageType == &quot;item&quot;'>
    <div style='clear:both'/>
    <div id='related-posts'>
    <script type='text/javascript'>var ry='<h2>Bài viết liên quan</h2>';rn='<h2>Không có Bài viết liên quan</h2>';rcomment='Nhận xét';rdisable='Tắt Nhận xét';commentYN='yes';</script>
    <script type='text/javascript'>
    //<![CDATA[
    var nothumb='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSx-FfpYQWePJDxUz0J-M7LIi6P_ME_Vbzs-0vCcod6fxNU9nBfxXJRr5ETLV-24rC7GyHpH_GKAg_tkT-xSK_V9BHAlqf1QhJAkFvgoljSOiCouD7pCp8z805PbWzLuS2AtKKkkjim3LZ/';dw='';titles=new Array();titlesNum=0;urls=new Array();time=new Array();thumb=new Array();commentsNum=new Array();comments=new Array();function related_results_labels(c){for(var b=0;b<c.feed.entry.length;b++){var d=c.feed.entry[b];titles[titlesNum]=d.title.$t;for(var a=0;a<d.link.length;a++){if('thr$total' in d){commentsNum[titlesNum]=d.thr$total.$t+' '+rcomment}else{commentsNum[titlesNum]=rdisable};if(d.link[a].rel=="alternate"){urls[titlesNum]=d.link[a].href;time[titlesNum]=d.published.$t;if('media$thumbnail' in d){thumb[titlesNum]=d.media$thumbnail.url}else{thumb[titlesNum]=nothumb};titlesNum++;break}}}}function removeRelatedDuplicates(){var b=new Array(0);c=new Array(0);e=new Array(0);f=new Array(0);g=new Array(0);for(var a=0;a<urls.length;a++){if(!contains(b,urls[a])){b.length+=1;b[b.length-1]=urls[a];c.length+=1;c[c.length-1]=titles[a];e.length+=1;e[e.length-1]=time[a];f.length+=1;f[f.length-1]=thumb[a];g.length+=1;g[g.length-1]=commentsNum[a]}}urls=b;titles=c;time=e;thumb=f;commentsNum=g}function contains(b,d){for(var c=0;c<b.length;c++){if(b[c]==d){return true}}return false}function printRelatedLabels(a){for(var b=0;b<urls.length;b++){if(urls[b]==a){urls.splice(b,1);titles.splice(b,1);time.splice(b,1);thumb.splice(b,1);commentsNum.splice(b,1)}}var c=Math.floor((titles.length-1)*Math.random());var b=0;if(titles.length==0){dw+=rn}else{dw+=ry;dw+='<ul>';while(b<titles.length&&b<20&&b<maxresults){if(commentYN=='yes'){comments[c]=' - '+commentsNum[c]}else{comments[c]=''};dw+='<li><a href="'+urls[c]+'" rel="nofollow"><img alt="'+titles[c]+'" src="'+thumb[c]+'"/></a><div class="title"><h3><a href="'+urls[c]+'" rel="nofollow">'+titles[c]+'</a></h3><span>'+time[c].substring(8,10)+'/'+time[c].substring(5,7)+'/'+time[c].substring(0,4)+comments[c]+'</span></div></li>';if(c<titles.length-1){c++}else{c=0}b++}dw+='</ul>'};urls.splice(0,urls.length);titles.splice(0,titles.length);document.getElementById('related-posts').innerHTML=dw};
    //]]>
    </script>
    <b:loop values='data:post.labels' var='label'>
    <script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?alt=json-in-script&amp;callback=related_results_labels&quot;' type='text/javascript'/>
    </b:loop>
    <script type='text/javascript'>var maxresults=6;removeRelatedDuplicates();printRelatedLabels('<data:post.url/>');</script>
    </div>
    <div style='clear:both'/>
    </b:if>

maxresults là số bài viết liên quan được hiển thị, mình đặt là 6. Mặc định số lượng comments sẽ được hiển thị, nếu bạn không muốn hãy thay ký tự yes màu tím thành ký tự khác, no chẳng hạn. Số lượng bài viết ở mỗi nhãn được tải về từ feed lấy theo mặc định là 25 bài mới nhất, nếu nhiều hơn mình nghĩ sẽ làm chậm tốc độ blog.

Về CSS cũng như bao thủ thuật khác mình không chú trọng đến giao diện mà quan tâm đến việc hiển thị trên các trình duyệt nhiều hơn. Ngoài ra mặc dù thông tin hiển thị bằng Javascript nhưng mình vẫn thêm thẻ alt cho ảnh, tiêu đề đặt trong cặp thẻ H3và thuộc tính rel=nofollow cho thẻ liên kết. Mình nhận thấy Google vẫn hiển thị thông tin viết bởi Javascript trong kết quả tìm kiếm.

Bài viết mới có hình ảnh cho Blogger



recent postsTiện ích Recent Posts với hình ảnh thu nhỏ - đây là tiện ích mà mình không dùng vì muốn xem bài viết mới mình thường có thói quen quay về trang chủ. Tiện ích được viết ra chỉ cho đủ bộ tiện ích về Bài đăng bởi cũng không tìm được thêm tính năng nào được coi là mới. Có chăng là tính năng nhận biết bài viết nào đã tắt Nhận xét, hình ảnh hỗ trợ cho cả video trên Youtube và gần đây mình thấy ảnh ở Photobucket cũng được lưu trữ, số lượng bài viết được tải về từ feed lấy đủ cho số bài viết bạn muốn hiển thị để tránh dư thừa. Những tính năng này đều đã có trong các tiện ích Related Posts và Random Posts.


Bước 1: Thêm đoạn mã dưới đây vào trước thẻ ]]></b:skin> trong template của bạn.
#recent-posts img{float:left;margin-right:10px;border:1px solid #999;background:#FFF;width:36px;height:36px;padding:3px}
Nếu đã áp dụng tiện ích Bài viết ngẫu nhiên tốc độ cao cho Blogger thì bạn bỏ qua bước này và thay #random-posts img{ thành #random-posts img,#recent-posts img{ cho đồng bộ khi muốn chỉnh sửa.

Bước 2: Thêm 1 widget HTML/Javascript tại nơi muốn hiển thị Recent Posts. Hiệu chỉnhTiêu đề và dán đoạn mã dưới đây vào phần Nội dung rồi chọn LƯU.
<div id='recent-posts'>
<script type='text/javaScript'>
var rcp_numposts=5;
var rcp_snippet_length=150;
var rcp_info='yes';
var rcp_comment='Nhận xét';
var rcp_disable='Tắt Nhận xét';
function recent_posts(json){var dw='';dw+='<ul>';for(var i=0;i<rcp_numposts;i++){var entry=json.feed.entry[i];var rcp_posttitle=entry.title.$t;if('content'in entry){var rcp_get_snippet=entry.content.$t}else{if('summary'in entry){var rcp_get_snippet=entry.summary.$t}else{var rcp_get_snippet="";}};rcp_get_snippet=rcp_get_snippet.replace(/<[^>]*>/g,"");if(rcp_get_snippet.length<rcp_snippet_length){var rcp_snippet=rcp_get_snippet}else{rcp_get_snippet=rcp_get_snippet.substring(0,rcp_snippet_length);var space=rcp_get_snippet.lastIndexOf(" ");rcp_snippet=rcp_get_snippet.substring(0,space)+"&#133;";};for(var j=0;j<entry.link.length;j++){if('thr$total'in entry){var rcp_commentsNum=entry.thr$total.$t+' '+rcp_comment}else{rcp_commentsNum=rcp_disable};if(entry.link[j].rel=='alternate'){var rcp_posturl=entry.link[j].href;var rcp_postdate=entry.published.$t;if('media$thumbnail'in entry){var rcp_thumb=entry.media$thumbnail.url}else{rcp_thumb="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSx-FfpYQWePJDxUz0J-M7LIi6P_ME_Vbzs-0vCcod6fxNU9nBfxXJRr5ETLV-24rC7GyHpH_GKAg_tkT-xSK_V9BHAlqf1QhJAkFvgoljSOiCouD7pCp8z805PbWzLuS2AtKKkkjim3LZ/"};}};dw+='<li>';dw+='<img alt="'+rcp_posttitle+'" src="'+rcp_thumb+'"/>';dw+='<div><a href="'+rcp_posturl+'" rel="nofollow" title="'+rcp_snippet+'">'+rcp_posttitle+'</a></div>';if(rcp_info=='yes'){dw+='<span>'+rcp_postdate.substring(8,10)+'/'+rcp_postdate.substring(5,7)+'/'+rcp_postdate.substring(0,4)+' - '+rcp_commentsNum+'</span>';};dw+='<div style="clear:both"></div></li>';};dw+='</ul>';document.getElementById('recent-posts').innerHTML=dw;};document.write('<script type=\"text/javascript\" src=\"/feeds/posts/default?alt=json-in-script&max-results='+rcp_numposts+'&callback=recent_posts\"><\/script>');
</script>
</div>

Thay 5 bằng số bài viết bạn muốn hiển thị, 150 là số ký tự của đoạn trích dẫn nội dung bài đăng. Nếu không muốn hiển thị thông tin ngày tháng đăng bài và số nhận xét hãy thay yes thành ký tự bất kỳ khác.

Bài viết ngẫu nhiên tốc độ cao cho Blogger



random postsMột trong những tiện ích mình kiêng kỵ nhất là Random Posts, bởi tiện ích này tải toàn bộ dữ liệu từ feed về, không những làm chậm tốc độ cho blog mà còn không chính xác với blog có trên 500 bài viết - đây là con số bài viết tối đa được feed tải về. Trong tiện ích mình giới thiệu sau đây thay vì 1 lần tải toàn bộ feed thì mình tải lần lượt theo số bài viết muốn hiển thị và chỉ lấy duy nhất 1 bài trong 1 lần tải. Trước đó sẽ có 1 lần tải dữ liệu đầu tiên từ feed để xác định tổng số bài viết hiện có, 1 hàm lấy ngẫu nhiên 5 số khác nhau từ 1 đến tổng số bài viết. Ví dụ muốn hiển thị 5 bài viết ngẫu nhiên thì sẽ có 6 lần tải feed, mặc dù số lần lấy nhiều nhưng dung lượng 1 lần lấy lại nhỏ. Khối lượng chỉ tương đương với blog bạn có tổng số bài viết là 6, so sánh vậy để thấy nếu blog càng nhiều bài viết thì tiện ích này có tốc độ nhanh hơn kiểu tải toàn bộ feed rất nhiều lần.


Bước 1: Thêm đoạn mã dưới đây vào trước thẻ ]]></b:skin> trong template của bạn.
#random-posts img{float:left;margin-right:10px;border:1px solid #999;background:#FFF;width:36px;height:36px;padding:3px}

Bước 2: Thêm 1 widget HTML/Javascript tại nơi muốn hiển thị Random Posts. Hiệu chỉnhTiêu đề và dán đoạn mã dưới đây vào phần Nội dung rồi chọn LƯU.
<ul id='random-posts'>
<script type='text/javaScript'>
var rdp_numposts=5;
var rdp_snippet_length=150;
var rdp_info='yes';
var rdp_comment='Nhận xét';
var rdp_disable='Tắt Nhận xét';
var rdp_current=[];var rdp_total_posts=0;var rdp_current=new Array(rdp_numposts);function totalposts(json){rdp_total_posts=json.feed.openSearch$totalResults.$t}document.write('<script type=\"text/javascript\" src=\"/feeds/posts/default?alt=json-in-script&max-results=0&callback=totalposts\"><\/script>');function getvalue(){for(var i=0;i<rdp_numposts;i++){var found=false;var rndValue=get_random();for(var j=0;j<rdp_current.length;j++){if(rdp_current[j]==rndValue){found=true;break}};if(found){i--}else{rdp_current[i]=rndValue}}};function get_random(){var ranNum=1+Math.round(Math.random()*(rdp_total_posts-1));return ranNum};
</script>
<script type='text/javaScript'>
function random_posts(json){for(var i=0;i<rdp_numposts;i++){var entry=json.feed.entry[i];var rdp_posttitle=entry.title.$t;if('content'in entry){var rdp_get_snippet=entry.content.$t}else{if('summary'in entry){var rdp_get_snippet=entry.summary.$t}else{var rdp_get_snippet="";}};rdp_get_snippet=rdp_get_snippet.replace(/<[^>]*>/g,"");if(rdp_get_snippet.length<rdp_snippet_length){var rdp_snippet=rdp_get_snippet}else{rdp_get_snippet=rdp_get_snippet.substring(0,rdp_snippet_length);var space=rdp_get_snippet.lastIndexOf(" ");rdp_snippet=rdp_get_snippet.substring(0,space)+"&#133;";};for(var j=0;j<entry.link.length;j++){if('thr$total'in entry){var rdp_commentsNum=entry.thr$total.$t+' '+rdp_comment}else{rdp_commentsNum=rdp_disable};if(entry.link[j].rel=='alternate'){var rdp_posturl=entry.link[j].href;var rdp_postdate=entry.published.$t;if('media$thumbnail'in entry){var rdp_thumb=entry.media$thumbnail.url}else{rdp_thumb="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSx-FfpYQWePJDxUz0J-M7LIi6P_ME_Vbzs-0vCcod6fxNU9nBfxXJRr5ETLV-24rC7GyHpH_GKAg_tkT-xSK_V9BHAlqf1QhJAkFvgoljSOiCouD7pCp8z805PbWzLuS2AtKKkkjim3LZ/"}}};document.write('<li>');document.write('<img alt="'+rdp_posttitle+'" src="'+rdp_thumb+'"/>');document.write('<div><a href="'+rdp_posturl+'" rel="nofollow" title="'+rdp_snippet+'">'+rdp_posttitle+'</a></div>');if(rdp_info=='yes'){document.write('<span>'+rdp_postdate.substring(8,10)+'/'+rdp_postdate.substring(5,7)+'/'+rdp_postdate.substring(0,4)+' - '+rdp_commentsNum)+'</span>'}document.write('<div style="clear:both"></div></li>')}};getvalue();for(var i=0;i<rdp_numposts;i++){document.write('<script type=\"text/javascript\" src=\"/feeds/posts/default?alt=json-in-script&start-index='+rdp_current[i]+'&max-results=1&callback=random_posts\"><\/script>')};
</script>
</ul>

Thay 5 bằng số bài viết bạn muốn hiển thị, 150 là số ký tự của đoạn trích dẫn nội dung bài đăng. Nếu không muốn hiển thị thông tin ngày tháng đăng bài và số nhận xét hãy thay yes thành ký tự bất kỳ khác.

Chiến thuật bóng đá mini 5 người

Đối với bóng đá nói riêng hay tất cả các môn thể thao nào người chơi cần phải có thể lực, trước khi nói đến kỷ thuật, chiến thuật. Khi bạn có thể lực bạn mới có khả năng trình diễn lối chơi kỷ thuật.
Trong bóng đá mini, đòi hỏi người chơi phải có thể lực kỷ thuật và chiến thuật (phối hợp đồng đội).
Hôm nay tôi mở thêm chủ đề này để anh em nào yêu thích bóng đá có những ý tưởng hay đưa lên để mọi người cùng tham gia bàn luận, mong rằng tìm ra được những bài tập phù hợp cho bản thân và tập thể của mình.
Bài tập đầu tiên nhằm nậng cao thể lực và phối hợp nhóm 3 người:


Có 3 cầu thủ: 1, 2 và 3
Có 4 vị trí: I, II, III, IV. 4 đỉnh hình vuông cạnh 10m.
Ở hình 1: cầu thủ số 3 di chuyển từ vị trí III ----> vị trí IV, bóng từ chân cầu thủ số 1 chuyền tới cầu thủ số 3 đã ở vị trí IV, cầu thủ số 3 bật tường lại cho cầu thủ số 1, Lúc đó cầu thủ số 2 đã di chuyển từ vị trí II ----> vị trí III.




Cầu thủ số 1 chuyền bóng cho cầu thủ số 2 ở vị trí III. số 2 chuyền bóng cho số 1 ở vị trí II.
Cầu thủ số 1 di chuyển từ vị trí số I ---> vị trí số II. nhận bóng từ cầu thủ số 2, bật tường trở lại số 2.




Cầu thủ số 3 di chuyển từ vị trí IV ---> I.
Cầu thủ số 2 chuyền bóng cho cầu thủ số 3 ở vị trí I.





Lúc này hết 1 chu kỳ, các cầu thủ đã thay đổi vị trí. và chu kỳ lập lại.
Bài tập này tạo cho cầu thủ, quen phối hợp bật tường 2 người, và phối hợp tam giác 3 người.
3 người nhưng 4 vị trí, chuyền và di chuyển chỗ trống, tạo cho cầu thủ quen cách di chuyển trong phối hợp.
Nhìn bài tập thấy đơn giản, nhưng nếu tập đúng sức, cầu thủ có thể lực lắm cũng khó tập hơn 15'.

----------------------------------------
Áp dụng bài tập 1 :





Cầu thủ số 2 khi nhận đường chuyền số 3 từ cầu thủ số 1, có 3 phương án:
- Sút vào cầu môn.
- Chuyền cho cầu thủ số 4.
- Chuyền cho cầu thủ số 1.


------------------------


Bài tập số 2: Với 4 người và 5 vị trí:




Ghí chú: đường màu đen số màu đỏ là đường di chuyển. đường màu đỏ số màu đen là hướng chuyền bóng.

- 4 cầu thủ ở vị trí I, II, III, IV. bóng từ cầu thủ ở vị trí I.
- Cầu thủ ở vị trí III di chuyển đến vị trí V nhận bóng từ cầu thủ ở vị trí I (đường chuyền 1).
- Cầu thủ ở vị trí V chuyền bóng cho cầu thủ ở vị trí IV (đường chuyền 2).
- Cầu thủ ở vị trí II di chuyển đến vị trí III, nhận bóng từ cầu thủ ở vị trí IV (đường chuyền 3).
- Cầu thủ I di chuyển đến vị trí II, nhận bóng từ cầu thủ ở vị trí III (đường chuyền 4).
- Cầu thủ IV di chuyển đến vị trí I nhận bóng từ cầu thủ ở vị trí II ( đường chuyền 5).
- Cầu thủ V di chuyển đến vị trí IV. Hết 1 chu kỳ trở lại vị trí ban đầu và chu kỳ được lập lại.

---------------------
Nếu bị mất bóng, tùy tình huống:
Theo như sơ đồ bài tập 1:
- Nếu mất bóng từ cầu thủ số 1 chuyền cho cầu thủ số 2 (đường chuyền số 3): Lúc này chúng ta còn 3 cầu thủ 1, 3 và 4 bên phần sân nhà.
- Nếu mất bóng từ đường chuyền số 4, hoặc 5 chúng ta còn 1 cấu thủ số 3 ở sân nhà. cầu thủ số 1 ở vị trí giữa sân. Với sân mini, khi tấn công chúng ta cố gắng có 3 cầu thủ khi phòng thủ cũng vậy. vấn đề là phải di chuyển cho hợp lý.
Theo sơ đồ bài tập số 2 cũng vậy:
- Lúc tấn công luôn có 3 cầu thủ. Nếu mất bóng ngay từ đường chuyền 1, hoặc 2, 3 chúng ta vẫn còn 3 cầu thủ ở sân nhà. chỉ tới dường chuyền 4 hoặc 5 ta mới còn 1 cầu thủ phòng thủ và 1 cầu thủ giữa sân.
Vì vậy các đường chuyền 4, 5 phải rất cẩn thận, thường là các vị trí trí đó đã có khả năng sút thành bàn.
Sơ đồ 1 là chơi với đội hình 1- 2- 1.
Sơ đồ 2 với đội hình 2 -2.
Chiến thuật 1 -2 -1 dành cho các đội phong trào. chiến thật 2 -2 cao hơn một ít.
Mục đích 2 bài tập trên nhằm tạo cho các cầu thủ quen với mọi vị trí trên sân. Vì trong bóng đá mini mọi vị trí đều có thể hoán chuyển với nhau.
Rất cám ơn bạn đã có góp ý. Mong nhận được nhiều hơn nữa các ý kiến của các bạn.
Các bài tập trên do mình tổng hợp từ các bài tập cơ bản, có chọn lọc cho phù hợp với trình độ của đội bóng

----------------

Các Bạn xem hình này:



Khi cầu thủ số 1 có bóng, Đối phương chắn bóng trước mặt.
Vùng màu đỏ là vùng nguy hiểm của đối phương, vùng màu xanh lá là vùng cầu thủ số 1 không thể chuyền bóng.
Vùng màu vàng là vùng cầu thủ số 1 chuyền bóng không thuận lợi.
Vùng màu xanh nhạt là vùng cầu thủ số 1 chuyền bóng thuận lợi nhất.
Khi phòng thủ các cầu thủ (màu đỏ) sẽ tìm cách bít các đường chuyền của cầu thủ tấn công, như hình trên.
Thường khi tấn công, anh em mình ham bóng, cứ nghĩ áp sát khu vực màu đỏ càng nhanh càng có cơ hội ghi bàn.
Điều này chúng ta biết và... cầu thủ phòng ngự cũng biết, vì vậy họ đã bít đường chuyền của đồng đội.
Trong trường hợp này các cầu thủ số 2,3,4 phải di chuyển vào khu vực có màu xanh nhạt.
Lúc đó các cầu thủ phòng ngự phải di chuyển theo để tiếp tục bít đường chuyền của cầu thủ số 1.
Khi đó bên nào chủ động hơn, nhanh, chính xác hơn bên đó sẽ thắng.
Vậy các cầu thủ tần công sẽ di chuyển thế nào để đạt tối ưu?
Các bạn xem hình sau:



Cầu thủ số 2 di chuyển sang bên phải càu thủ số 1. Vào vùng thuận lợi để nhận bóng từ cầu thủ số 1.
Cầu thủ số 4 di chuyển sang bên trái cầu thủ số 1, vào vùng thuận lợi để nhận bóng từ cầu thủ số 1.
Cầu thủ số 3 di chuyển thay vào vị trí của cầu thủ số 2, vị trí áp sát và đe dọe cầu môn đối phương.
Trong khoảng thời gian thật ngắn nếu cầu thủ số 1 không chuyền bóng liền. đối phương sẽ di chuyển như hình sau:



Khi đó diện tích các vùng thuận lợi để cầu thủ số 1 chuyền bóng được ít và khác đi. buộc các cầu thủ 2.3.4 phải di chuyển qua vị trí khác.
Chúng ta thấy: muốn tấn công các cầu thủ tấn công phải di chuyển rất. nhiều. trong khi các cầu thủ phòng thủ chỉ cần di chuyển một đoan ngắn (độ dài quãng đường cầu thủ phòng thủ di chuyển ngắn hơn).
Cầu thủ có bóng càng giữ bóng lâu cáng mất dần diện tích thuận lợi để chuyền bóng. điều này buộc cầu thủ có bóng phải dùng kỹ thuật dẫn bóng qua người đối phương. Nhưng như vậy đồng đội mình sẽ phải di chuyển theo và sẽ tốn nhiều sức, điều này không có lợi bằng chuyền đúng vào lúc đồng đội di chuyển vào khoảng thuận lợi (khó đó! nhưng tập nhiều sẽ quen).
Trong đá bóng các bạn hay cãi nhau ở điểm này. Người thì nói sao không chuyền cho tôi mà cứ dẫn bóng? người trả lời: có thấy ai đâu mà chuyền?
Nếu chúng ta biết được vị trí của từng cá nhân thì sẽ không có những tranh cãi như trên.
Chắc chắn sẽ có một số bạn thắc mắc: sao cầu thủ số 2 phải di chuyển qua bên trái cầu thủ số 1, rồi cầu thủ số 3 phải di chuyển vào vị trí cầu thủ số 2 để lại? mà không phải là cầu thủ số 3 lui về phía bên phải cầu thủ số 1, cầu thủ số 2 đứng yên?

 
259/3 Lê Thị Riêng | Khu Phố 6 - Tổ 16 - P.Thới An - | Quận 12