Showing posts with label HTML. Show all posts
Showing posts with label HTML. Show all posts
Tạo menu responsive cho blogspot mới nhất

Tạo menu responsive cho blogspot mới nhất

Menu responsive là một menu hiển thị một menu thả xuống lớn và thường có nhiều liên kết mà bạn có thể thêm vào nó. Tính năng Menu responsive thường được sử dụng trên các trang web lớn có nhiều nội dung và loại trang để yêu cầu nhiều điều hướng, chẳng hạn như các trang web của chính phủ hoặc các trang tin tức.

Hôm nay mình sẽ hướng dẫn làm một menu responsive đơn giản tùy chọn nó đáp ứng đủ trên blogspot.

Cách tạo menu responsive cho blogspot

Ở đây mình sẽ cung cấp cho bạn một số lượng lớn menu đã được trang bị các tính năng bao gồm tìm kiếm, sau đó chỉ cần điều chỉnh theo nhu cầu của các bạn.
Cần lưu ý, mã mà mình sẽ chia sẻ yêu cầu biểu tượng Fontwesome. Vì vậy, thêm Fontwesome trong mẫu nếu nó không tồn tại.
Đầu tiên cac bạn mở trang Blogger -> Nhấp vào menu Chủ đề và nhấp vào nút Chỉnh sửa HTML-> thêm mã bên dưới trước thẻ đóng  <body>
<div class='megamenu-container'>
   <div class='megamenu'>
      <ul>
         <li><a href='/'>Home</a></li>
         <li>
            <a href='#'>About</a>
            <ul>
               <li>
                  <a href='#'>School</a>
                  <ul>
                     <li><a href='#'>Leadership</a></li>
                     <li><a href='#'>History</a></li>
                     <li><a href='#'>Locations</a></li>
                     <li><a href='#'>Careers</a></li>
                  </ul>
               </li>
               <li>
                  <a href='#'>Study</a>
                  <ul>
                     <li><a href='#'>Undergraduate</a></li>
                     <li><a href='#'>Masters</a></li>
                     <li><a href='#'>International</a></li>
                     <li><a href='#'>Online</a></li>
                  </ul>
               </li>
               <li>
                  <a href='#'>Research</a>
                  <ul>
                     <li><a href='#'>Undergraduate research</a></li>
                     <li><a href='#'>Masters research</a></li>
                     <li><a href='#'>Funding</a></li>
                  </ul>
               </li>
               <li>
                  <a href='#'>Something</a>
                  <ul>
                     <li><a href='#'>Sub something</a></li>
                     <li><a href='#'>Sub something</a></li>
                     <li><a href='#'>Sub something</a></li>
                     <li><a href='#'>Sub something</a></li>
                  </ul>
               </li>
            </ul>
         </li>
         <li>
            <a href='#'>News</a>
            <ul>
               <li><a href='#'>Today</a></li>
               <li><a href='#'>Calendar</a></li>
               <li><a href='#'>Sport</a></li>
            </ul>
         </li>
         <li>
            <a href='#'>Contact</a>
            <ul>
               <li>
                  <a href='#'>School</a>
                  <ul>
                     <li><a href='#'>Lidership</a></li>
                     <li><a href='#'>History</a></li>
                     <li><a href='#'>Locations</a></li>
                     <li><a href='#'>Careers</a></li>
                  </ul>
               </li>
               <li>
                  <a href='#'>Study</a>
                  <ul>
                     <li><a href='#'>Undergraduate</a></li>
                     <li><a href='#'>Masters</a></li>
                     <li><a href='#'>International</a></li>
                     <li><a href='#'>Online</a></li>
                  </ul>
               </li>
               <li>
                  <a href='#'>Study</a>
                  <ul>
                     <li><a href='#'>Undergraduate</a></li>
                     <li><a href='#'>Masters</a></li>
                     <li><a href='#'>International</a></li>
                     <li><a href='#'>Online</a></li>
                  </ul>
               </li>
               <li>
                  <a href='#'>Another sub</a>
                  <ul>
                     <li><a href='#'>Undergraduate</a></li>
                     <li><a href='#'>Masters</a></li>
                     <li><a href='#'>International</a></li>
                     <li><a href='#'>Online</a></li>
                  </ul>
               </li>
            </ul>
         </li>
      </ul>
      <span class='containersearch'>
         <form action='/search' id='search-form' method='get'>
            <input class='inputnui' name='q' placeholder='Search here...' type='search' value=''/>
            <i aria-hidden='true' class='fa fa-search'/>
         </form>
      </span>
   </div>
</div>
<script type='text/javascript'>
//<![CDATA[
// JS Megamenu by ngocgn90
$(document).ready(function(){"use strict";$(".megamenu > ul > li:has( > ul)").addClass("megamenu-dropdown-icon"),$(".megamenu > ul > li > ul:not(:has(ul))").addClass("normal-sub"),$(".megamenu > ul").before('<a href="#" class="megamenu-mobile"></a>'),$(".megamenu > ul > li").hover(function(e){$(window).width()>943&&($(this).children("ul").stop(!0,!1).fadeToggle(150),e.preventDefault())}),$(".megamenu > ul > li").click(function(){$(window).width()<=943&&$(this).children("ul").fadeToggle(150)}),$(".megamenu-mobile").click(function(e){$(".megamenu > ul").toggleClass("show-on-mobile"),e.preventDefault()})});
$(document).ready(function(){$(".fa-search").click(function(){$(".containersearch, .inputnui").toggleClass("active"),$("input[type='text']").focus()})});
//]]>
</script>

Chọn JQuery nếu sử dụng các phiên bản (2) hoặc (3)
<script type='text/javascript'>
//<![CDATA[
// JS Megamenu by ngocgn90
$(document).ready(function(){"use strict";$(".megamenu > ul > li:has( > ul)").addClass("megamenu-dropdown-icon"),$(".megamenu > ul > li > ul:not(:has(ul))").addClass("normal-sub"),$(".megamenu > ul").before('<a href="#" class="megamenu-mobile"></a>'),$(".megamenu > ul > li").hover(function(e){$(window).width()>943&&($(this).children("ul").stop(!0,!1).fadeToggle(150),e.preventDefault())}),$(".megamenu > ul > li").click(function(){$(window).width()<=943&&$(this).children("ul").fadeToggle(150)}),$(".megamenu-mobile").click(function(e){$(".megamenu > ul").toggleClass("show-on-mobile"),e.preventDefault()})});
$(document).ready(function(){$(".fa-search").click(function(){$(".containersearch, .inputnui").toggleClass("active"),$("input[type='text']").focus()})});var prev=0,$window=$(window),nav=$(".megamenu-container");$window.on("scroll",function(){var n=$window.scrollTop();nav.toggleClass("hiddenmega",n>prev),prev=n});
//]]>
</script>

Sau đó chọn mã CSS bên dưới trước thẻ đóng  </head>
<style type='text/css'>
/* Responsive megamenu by ngocgn90 */
.megamenu{position:relative;display:block;margin:auto;text-align:center;max-width:970px}
.megamenu-container{margin:0 auto;background:#222;box-shadow:0 2px 10px rgba(0,0,0,0.05);position:fixed;top:0;left:0;right:0;z-index:99}
.megamenu-mobile{display:none;padding:24px 20px;background:#fff;box-shadow:0 2px 15px rgba(0,0,0,0.1)}
.megamenu-mobile:before{content:&quot;\f0c9&quot;;font-family:&quot;fontawesome&quot;;font-size:1.5rem;padding:0;left:20px;position:absolute;top:15px;transform:translateY(-25%);color:#222}
.megamenu-dropdown-icon:before{content:&quot;\f107&quot;;font-family:&quot;fontawesome&quot;;display:none;cursor:pointer;color:#fff;position:absolute;right:20px;top:15px}
.megamenu &gt; ul{margin:0 auto;width:100%;list-style:none;padding:0;position:relative;box-sizing:border-box}
.megamenu &gt; ul:before,.megamenu &gt; ul:after{content:&quot;&quot;;display:table}
.megamenu &gt; ul:after{clear:both}
.megamenu &gt; ul &gt; li{float:left;padding:0;margin:0;text-decoration:none;transition:all .1s}
.megamenu &gt; ul &gt; li a{cursor:pointer;text-decoration:none;padding:15px 20px;display:block;color:#fff;font-size:14px;transition:all .1s}
.megamenu &gt; ul &gt; li:hover{background:#e84118}
.megamenu &gt; ul &gt; li &gt; ul{display:none;width:100%;background:#fff;padding:20px;position:absolute;z-index:99;left:0;margin:0;list-style:none;text-align:left;box-sizing:border-box;box-shadow:0 8px 10px -4px rgba(0,0,0,0.2)}
.megamenu &gt; ul &gt; li &gt; ul:before,.megamenu &gt; ul &gt; li &gt; ul:after{content:&quot;&quot;;display:table}
.megamenu &gt; ul &gt; li &gt; ul:after{clear:both}
.megamenu &gt; ul &gt; li &gt; ul &gt; li{margin:0;padding-bottom:0;list-style:none;width:25%;background:none;float:left}
.megamenu &gt; ul &gt; li &gt; ul &gt; li a{color:#222;padding:0.2em 0;width:95%;display:block;border-bottom:1px solid rgba(0,0,0,0.1)}
.megamenu &gt; ul &gt; li &gt; ul &gt; li a:hover{color:#e84118}
.megamenu &gt; ul &gt; li &gt; ul &gt; li &gt; ul{display:block;padding:0;margin:10px 0 0;list-style:none;box-sizing:border-box}
.megamenu &gt; ul &gt; li &gt; ul &gt; li &gt; ul:before,.megamenu &gt; ul &gt; li &gt; ul &gt; li &gt; ul:after{content:&quot;&quot;;display:table}
.megamenu &gt; ul &gt; li &gt; ul &gt; li &gt; ul:after{clear:both}
.megamenu &gt; ul &gt; li &gt; ul &gt; li &gt; ul &gt; li{float:left;width:100%;padding:10px 0;margin:0;font-size:0.8em}
.megamenu &gt; ul &gt; li &gt; ul &gt; li &gt; ul &gt; li a{border:0}
.megamenu &gt; ul &gt; li &gt; ul.normal-sub{width:100%;max-width:170px;left:auto;padding:5px 10px}
.megamenu &gt; ul &gt; li &gt; ul.normal-sub &gt; li{width:100%}
.megamenu &gt; ul &gt; li &gt; ul.normal-sub &gt; li a{border:0;padding:.5em 0}
.containersearch{background:#e84118;width:0;position:absolute;top:0;right:0;padding:0 30px;text-align:center;transition:all 0.5s ease}
.containersearch .fa{background:#e84118;color:#fff;position:absolute;font-size:19px;cursor:pointer;padding:0;top:15px;right:20px}
.inputnui{border:0!important;background:transparent;width:0%;padding:17.5px 0!important;outline:none;color:#fff;font-size:15px!important;transition:all 0.3s ease}
.containersearch.active{width:250px;padding-left:25px;transition:all 0.5s ease}
.inputnui.active{width:98%;padding-left:5px!important;transition:all 0.5s 0.8s ease}
input::placeholder{color:#fff}
@media only screen and (max-width: 959px) {
.megamenu-container{width:100%}
.megamenu-mobile,.megamenu-dropdown-icon:before{display:block}
.megamenu &gt; ul{display:none}
.megamenu &gt; ul &gt; li{position:relative;width:100%;float:none;display:inline-block;text-align:left;padding:0}
.megamenu &gt; ul &gt; li a{padding:15px 20px;display:block}
.megamenu &gt; ul &gt; li &gt; ul{position:relative;overflow-y:scroll;max-height:280px}
.megamenu &gt; ul &gt; li &gt; ul.normal-sub{width:100%;max-width:100%}
.megamenu &gt; ul &gt; li &gt; ul &gt; li{float:none;width:100%;margin-top:20px}
.megamenu &gt; ul &gt; li &gt; ul &gt; li:first-child{margin:0}
.megamenu &gt; ul &gt; li &gt; ul &gt; li &gt; ul{position:relative}
.megamenu &gt; ul &gt; li &gt; ul &gt; li &gt; ul &gt; li{float:none}
.megamenu .show-on-mobile{display:block}
.megamenu &gt; ul &gt; li:hover{background:rgba(255,255,255,.1)}
.containersearch{background:transparent}
.containersearch .fa{background:transparent;color:#222}
.containersearch.active{width:100%;text-align:center}
.inputnui.active,input::placeholder{color:#888;text-align:center}}
</style>

Tiếp theo, nhấn vào nút Lưu chủ đề và xem kết quả trên blog của bạn. Đó là cách tạo menu responsive cho blogspot. Cảm ơn bạn đã ghé thăm và hy vọng hữu ích.
[ widget ] Tìm hiểu về thuộc tính thẻ Widget trong blogger

[ widget ] Tìm hiểu về thuộc tính thẻ Widget trong blogger

Tiện ích được biểu thị bởi một thẻ, thẻ này là một trình giữ chỗ cho biết cách tiện ích được xử lý trong tab phần tử trang.

Dưới đây là một số ví dụ về tiện ích (một cho tiêu đề trang và một cho danh sách):

<b:widget id="header" type='HeaderView' locked="yes"/>

<b:widget id="myList" type='ListView' locked="no" title="My Favorite Things"/>

<b:widget id=”BlogArchive1” locked=”false” mobile=”yes” title=”Blog Archive” type=”BlogArchive”/>

Thuộc tính tiện ích widget:

Thẻ tiện ích <b:widget> là thẻ tạo ra nhiều loại tiện ích với chức năng khác nhau, tương tác với độc giả.
  • id – (Bắt buộc) Chỉ được chứa chữ và số và mỗi ID tiện ích trong chủ đề của bạn phải là duy nhất. Không thể thay đổi ID của tiện ích nếu không xóa tiện ích và tạo tiện ích mới.
  • type – (Bắt buộc) Cho biết loại tiện ích.
  • locked – (Tùy chọn) Có thể là “yes” hoặc “no” với giá trị mặc định là “no”. Không thể di chuyển hoặc xóa tiện ích đã khóa khỏi tab Phần tử trang.
  • title – (Tùy chọn) Nếu không có tiêu đề hiển thị nào được chỉ định, tiêu đề mặc định như “List1” sẽ được sử dụng.
  • pageType – (Tùy chọn) Có thể là “all”, “archive”, “main” hoặc “item” với giá trị mặc định là “all”. Tiện ích sẽ chỉ hiển thị trên các trang được chỉ định của blog. (Tất cả tiện ích hiển thị trên tab Phần tử trang, bất kể pageType của chúng.)
  • mobile – (Tùy chọn) Có thể là “yes”, “no” hoặc “only” với giá trị mặc định là “default”. Điều này sẽ quyết định việc tiện ích có được hiển thị trên thiết bị di động hay không. Chỉ Tiêu đề, Blog, Hồ sơ, PageList, AdSense, Ghi nhận tác giả được hiển thị trên thiết bị di động khi thuộc tính di động là “default”.
Lưu ý: Trong blog đã xuất bản của bạn, tất cả các thẻ <b:section> và <b:widget> sẽ được thay thế bằng thẻ <div>, sẽ có ID được chỉ định. Điều này sẽ cho phép bạn tham chiếu tới, ví dụ: div#header hoặc div#myList trong CSS của mình.
[ section ] Tìm hiểu về thuộc tính thẻ Section trong blogger

[ section ] Tìm hiểu về thuộc tính thẻ Section trong blogger

Hôm nay mình chia sẻ một số thẻ trong Blogger cho các bạn, bạn nào muốn tìm hiểu hơn về các thẻ cở bản của nó thì cùng xem nhé!

Thẻ phần tử trang cho bố cục:

Thẻ phần tử trang cho bố cục phần <body> của chủ đề bố cục bao gồm các phần và tiện ích.

  • Phần là các vùng của trang, chẳng hạn như thanh bên, chân trang.
  • Tiện ích là phần tử trang chẳng hạn như trang, danh sách trang web ưa thích hoặc bất kỳ thứ gì khác mà bạn có thể thêm từ tab “Phần tử trang”.
Bạn có thể bao gồm bất kỳ HTML nào mà bạn muốn quanh các phần trong chủ đề của mình.
Mỗi phần trong bố cục blogger của bạn có các thẻ mở <section>  và thẻ đóng </b:section> giống như sau:

<b:section id='header' class='header' maxwidgets="1" showaddelement="no">

</b:section>

Thuộc tính thẻ <b:section>

Để tìm hiểu rõ hơn thẻ ta tìm hiểu một số thuộc tính của thẻ </b:section> trong blogger:

  • id – (Bắt buộc) Tên duy nhất, chỉ gồm chữ và số.
  • class – (Tùy chọn) Các tên lớp thông thường là “navbar”, “header”, “main”, “sidebar” và “footer.” Nếu bạn thay đổi chủ đề sau, những tên này sẽ giúp Blogger xác định cách chuyển nội dung của bạn.
  • maxwidgets –- (Tùy chọn) Số tiện ích tối đa được cho phép trong phần này. Nếu bạn không chỉ định giới hạn, sẽ không có giới hạn.
  • showaddelement – (Tùy chọn) Có thể là “yes” hoặc “no” với giá trị mặc định là “yes”. Điều này xác định xem tab Phần tử trang có hiển thị liên kết 'Thêm phần tử trang' trong phần này hay không.
  • growth – (Tùy chọn) Có thể là 'horizontal' hoặc 'vertical' với giá trị mặc định là 'vertical'. Điều này xác định xem tiện ích trong phần này được sắp xếp cạnh nhau hay xếp chồng.
Vậy là đã xong phần thẻ section trong blogger. 
Cách reponsive hình ảnh trong blogger

Cách reponsive hình ảnh trong blogger

Vấn đề đặt ra là tất cả các độ phân giải màn hình đa dạng đó thì chỉ hiển thị một giao diện web duy nhất là trên desktop làm cho người dùng có cảm giác khó chịu khi phải kéo qua kéo lại, kéo tới lui mới xem hết được các thông tin của một bài viết. Từ sự bất tiện đó mà Responsive Web Design ra đời.

Responsive là gì?

Hiểu một cách đơn giản web responsive là phong cách thiết kế website làm sao cho phù hợp trên tất cả các thiết bị, mọi độ phân giải màn hình. Một website đẹp trên máy tính nhưng khi xem trên điện thoại bố cục lộn xộn, hình ảnh, bài viết không cân đối thì không thể gọi là web responsive

Ví dụ về web responsive: Bạn mở trang chủ website responsive, rồi thu nhỏ trình duyệt hoặc đổi độ phân giải màn hình, bạn sẽ thấy website của mình không hề xuất hiện Scrollbar ngang, mà nó sẽ tự động co dãn sao cho phù hợp với chiều rộng màn hình máy tính bạn.

Responsive là công nghệ mới mà hiện nay hầu như mọi trang web đang áp dụng, công nghệ responsive tương thích với mọi loại màn hình hiển thị giúp cho website thân thiện hơn với người dùng và bài viết này sẻ hướng dẫn cách để hình ảnh hiển thị responsive cho website và blogspot

Hình ảnh Reponsive trong blogger??

Vậy đối với blogger của bạn như thế nào?.. Thực sự có nhiều mẫu blogspot đẹp nó đã được responsive rồi nhưng các bạn thường thấy khi viết bài các hình ảnh bạn chèn vào nó không được như ý. Nhìn rất không hợp với các màn hình khác nhau. Nó chỉ đẹp ở desktop vậy bạn nên điều chỉnh nó mà không liên quan đến phần nào của trang bạn đang có.

Để áp dụng code vào trong blogger bạn vui lòng làm theo các bước như hình bên dưới: Vào Blogger Dashboard > Template (Chủ đề)> Edit HTML (Chỉnh sửa HTML). Thêm đoạn css dưới đây vào trên thẻ ]]</b:skin>


.separator a{margin-left:0px !important;margin-right:0px !important;}
.post img{max-width:100%;height:auto;}

Tùy vào từng mẫu khác nhau để thẻ img nó sẽ lồng khác nhau. Vì vậy khi thêm đoạn code trên mà vẫn không được các bạn nên tìm hiểu thẻ img nằm trong vùng nào nhé.

Sau đó lưu lại mẫu và xem kết quả trên điện thoại hoặc trên trình duyệt click chuột phải chọn [Kiểm tra].


Tăng tốc độ tải Blog với tải nhanh chóng AdSense (Lazy load)

Tăng tốc độ tải Blog với tải nhanh chóng AdSense (Lazy load)

Tải nhanh là kỹ thuật trì hoãn tải các tài nguyên không quan trọng tại thời điểm tải trang . Thay vào đó, các tài nguyên không quan trọng này được tải vào thời điểm cần thiết.

Tăng tốc độ tải Blog với tải nhanh chóng AdSense

Hoạt động của mã này khá đơn giản, cụ thể là quảng cáo sẽ xuất hiện sau khi chúng tôi cuộn trang. Vì vậy , AdSense sẽ không xuất hiện trước khi chúng tôi cuộn qua các trang của trang Web

Những lời khuyên này dành cho bạn tôi đã cài đặt AdSense trên blog của mình. Đối với những người chưa có, mã mà tôi sẽ chia sẻ có thể được sử dụng cho các nhu cầu khác, chẳng hạn như tải một liên kết JS bên ngoài.

Mở Blogger> Nhấp vào menu Chủ đề > Nhấp vào nút Chỉnh sửa HTML > Thêm mã bên dưới trước </body>

<script type='text/javascript'>
//<![CDATA[
// Lazy Load AdSense
var lazyadsense=!1;window.addEventListener("scroll",function(){(0!=document.documentElement.scrollTop&&!1===lazyadsense||0!=document.body.scrollTop&&!1===lazyadsense)&&(!function(){var e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(e,a)}(),lazyadsense=!0)},!0);
//]]>
</script>

Nếu không, hãy chắc chắn xóa tất cả các liên kết JS AdSense thường được cài đặt trong mã đơn vị quảng cáo AdSense.

Như thế này:

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

Mã này cũng có thể được kết hợp với liên kết JS Adblock Killer mà tôi đã chia sẻ trong bài viết Cách cài đặt phiên bản mới nhất của Adblock Killer . Đối với những người bạn đã thực hiện thủ thuật này , bạn có thể sử dụng mã này:

<script type='text/javascript'>
//<![CDATA[
// Lazy Load AdSense
var lazyadsense=!1;window.addEventListener("scroll",function(){(0!=document.documentElement.scrollTop&&!1===lazyadsense||0!=document.body.scrollTop&&!1===lazyadsense)&&(!function(){var e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src="https://cdn.jsdelivr.net/gh/Arlina-Design/quasar@master/arlinablock.js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(e,a)}(),lazyadsense=!0)},!0);
//]]>
</script>

Sau khi thêm, nhấp vào nút Lưu chủ đề và kết thúc.

Có thể bạn tôi hỏi, mã này có an toàn cho AdSense ? 

Câu trả lời là tất nhiên an toàn. Bởi vì Google cũng đề xuất tăng tốc tải blog cũng như cài đặt mã Lazy Load Image để tăng tốc độ tải hình ảnh trên các trang web.

Và liệu nó có ảnh hưởng đến doanh thu AdSense của blog ? 

Đối với cái này , tôi chưa biết, vì tôi chỉ tự cài đặt nó.