Hỏi - Đáp

Giáo viên trả lời:
Kiểm tra email để nhận công cụ về làm bài tập.

Giáo viên trả lời:

<arcticle></article> là:

<section class="tintheloai_col2">
Begin Nested
<article class="tintheloai_so2"></article>
End Nested
</section>
</section>.

Vậy còn thẻ <article class="tintheloai_so1"> trong <section class="tintheloai_col1"></section> làm sao để Nested Repeat ạ? Và nếu có thêm các <section> khác ví dụ như <section class="tintheloai_col3">, <section class="tintheloai_col4">,... thì làm thế nào để Nested Repeat các thẻ <article> nằm trong đó ạ?
======================================
Đoạn Code HTML tĩnh là đoạn code đã hoàn chỉnh, khi Bạn làm web động thì phải chia nhỏ code ra để thực hiện lặp lại:

Đầu tiên là ta chỉ lặp đoạn code lớn bên ngoài trước

Begin Repeat
<section class="tintucmoitheloai">
<header class="tintucmoitheloai_title">
<section class="tentheloai">
<span class="linkcam"><a href="#">ĐỜI SỐNG</a></span> &nbsp;<img src="images/arrow.jpg" align="absmiddle"> <span class="linkden">&nbsp;<a href="#"> Phóng sự</a></span> &nbsp; | <span class="linkden">&nbsp;<a href="#">Từ thiện</a></span>
</section>
<section class="bogoc"></section>
</header>
<section class="tintucmoitheloai_cen">
<section class="tintheloai_col1">
<article class="tintheloai_so1">
<img src="images/hang_tram_canh_sat.jpg" width="150" height="120" alt="Hàng trăm cảnh sát kiểm tra vũ trường Diamond" class="canhlechohinh">
<h1>Hàng trăm cảnh sát kiểm tra vũ trường Diamond</h1>
<p>Khoảng 1h sáng nay (20/1), hàng trăm cán bộ chiến sĩ công an Quận 1 - TP.HCM bất ngờ kiểm tra vũ trường Diamond Club, nằm trên đường Lý Tự Trọng - Quận 1.</p>
</article>
</section>
<section class="tintheloai_col2">
<article class="tintheloai_36">
<h2>Dị nhân xoay cả ngàn vòng không chóng mặt</h2>
</article>
</section>
</section>
</section>
End Repeat

Bước kế tiếp là lặp bài viết nhỏ bên trong, những đoạn nào giống nhau thì chỉ để lại 1 thôi

Begin Repeat
<section class="tintucmoitheloai">
<header class="tintucmoitheloai_title">
<section class="tentheloai">
<span class="linkcam"><a href="#">ĐỜI SỐNG</a></span> &nbsp;<img src="images/arrow.jpg" align="absmiddle"> <span class="linkden">&nbsp;<a href="#"> Phóng sự</a></span> &nbsp; | <span class="linkden">&nbsp;<a href="#">Từ thiện</a></span>
</section>
<section class="bogoc"></section>
</header>
<section class="tintucmoitheloai_cen">
<section class="tintheloai_col1">
<article class="tintheloai_so1">
<img src="images/hang_tram_canh_sat.jpg" width="150" height="120" alt="Hàng trăm cảnh sát kiểm tra vũ trường Diamond" class="canhlechohinh">
<h1>Hàng trăm cảnh sát kiểm tra vũ trường Diamond</h1>
<p>Khoảng 1h sáng nay (20/1), hàng trăm cán bộ chiến sĩ công an Quận 1 - TP.HCM bất ngờ kiểm tra vũ trường Diamond Club, nằm trên đường Lý Tự Trọng - Quận 1.</p>
</article>
</section>
    Begin Nested Repeat
         <section class="tintheloai_col2">
         <article class="tintheloai_36">
         <h2>Dị nhân xoay cả ngàn vòng không chóng mặt</h2>
         </article>
         </section>
    End Nested Repeat
</section>
</section>
End Repeat


Sau đó dùng phát biểu dk if để tạo 2 cột cho phần Nested
Begin Nested Repeat
Nếu dem==1 thi hiện ra cot 1
<section class="tintheloai_col1">
     <article class="tintheloai_36">
     <h2>Dị nhân xoay cả ngàn vòng không chóng mặt</h2>
      </article>
</section>
Ngược lại thì hiện col2
<section class="tintheloai_col2">
<article class="tintheloai_36">
<h2>Dị nhân xoay cả ngàn vòng không chóng mặt</h2>
</article>
</section>
End Nested Repeat

Bạn xem kỹ lại các đoạn video, phải chia ra nhiều bước làm chho trang này.  Sau khi lặp xong mới đưa hình ảnh vào


Giáo viên trả lời:

Thầy ơi ở trang tintucmoitheloai.php, trong <section class="tintucmoitheloai_cen"> </section>, trước khi Nested Repeat, trang dạng tĩnh thì nó có dạng:
<section class="tintucmoitheloai_cen">
<section class="tintheloai_col1">
<article class="tintheloai_so1"></article>
</section>
<section class="tintheloai_col2">
<article class="tintheloai_so2"></article>
<article class="tintheloai_36"></article>
<article class="tintheloai_36"></article>
<article class="tintheloai_36"></article>
<article class="tintheloai_36"></article>
</section>
</section>.

Sau khi Nested Repeat thì nó có dạng:
<section class="tintucmoitheloai_cen">
<section class="tintheloai_col1">
<article class="tintheloai_so1"> </article>
</section>
<section class="tintheloai_col2"></section>
<section class="tintheloai_col2">
<article class="tintheloai_so2"></article>
</section>
<section class="tintheloai_col2">
<article class="tintheloai_36"></article>
</section>
<section class="tintheloai_col2">
<article class="tintheloai_36"></article>
</section>
<section class="tintheloai_col2">
<article class="tintheloai_36"></article>
</section>
<section class="tintheloai_col2">
<article class="tintheloai_36"></article>
</section>
</section>

=================================
Nếu muốn giống thì khi Nested Bạn Nested phần thẻ article thôi, không Nested thẻ section bên ngoài

<section class="tintheloai_col2">
    Begin Nested
      <article class="tintheloai_so2"></article>
   End Nested
</section>
</section>.

Giáo viên trả lời:
Phần câu hỏi số 1 của Bạn để tôi cài Micosoft Edge lên máy tôi rồi test thử source code của Bạn rồi sẽ trả lời sau nhé.

Phần câu hỏi số 2 Local Storage thấy hàm ghi giá trị củ Bạn truyền thiếu tham số noidung nên không ghi được, mà không ghi được sẽ xuất ra sai

Sửa lại chỗ hàm này
function ghi_con(noidung) { //Phai dua tham so noi dung vao ham ghi

Phần câu hỏi số 3 không tạo được database monhoc
Phần này trong câu lệnh tạo bảng monhoc bạn thiếu S chỗ chữ EXISTS

tx.executeSql("CREATE TABLE IF NOT EXISTS monhoc(ID uniquee,tenmonhoc)"); //Chu EXISTS phai co S

Phần câu hỏi số 4 của Bạn để cách ra thì bạn chỉnh CSS cho thẻ Section

<style>
label { width: 100px; float: left; text-align: right; padding-right: 5px;}
section {margin-bottom:10px;}
</style>

Giáo viên trả lời:
Để tôi tìm thử xem có Jquery nào làm hiệu ứng này không?

Cách nhanh nhất là vào thẳng trang này lấy code của nó rồi dùng thôi.
Để tôi rãnh tách đoạn code của site này ra rồi gửi cho Bạn.

Bạn Check mail để nhận script này. Xem demo

Giáo viên trả lời:
Kiểm tra code của Bạn thấy trong trang dathang.php phần else sử dụng nhiều lệnh nhưng Bạn chưa có mở đầu và kết thúc của else


tao gio hang

Giáo viên trả lời:
Kiểm tra mail để nhận.

Giáo viên trả lời:

Tôi kiểm tra thấy dữ liệu bạn nhập cho sản phẩm này thiếu cấu trúc, bạn bổ sung sửa lại trong database để nó có tổng cộng 7 phần tử

Xem lại phần nhập liệu cho sản phẩm có tên Voltric 50 neo (bị thiếu mất 3 phần tử)

Xuất mảng này ra xem thử sẽ thấy lỗi

echo "<pre>";
print_r($arr_sub);
echo "</pre>";
if($arr_sub[5] == 1) //Chỉ xuất sản phẩm mới (tình trạng sản phẩm =1)



Giáo viên trả lời:
Bạn hãy nén website và gửi website của Bạn qua email của tôi để tôi sửa bài cho Bạn. nhé. 

Tôi đã gửi source code mẫu project cho Bạn tham khảo, hãy check mail

Giáo viên trả lời:
Đã gửi mail. Hãy check mail để làm bài tập phần này

Giáo viên trả lời:

Kiểm tra đường dẫn này thấy không có file trên hosting. Hãy upload lại file lên lại hosting đi

http://i-store.vn/scripts/flatmenu-responsive.js

Giáo viên trả lời:

thiet ke web responsive

thiet ke web chuan google
=============================================================================
Lỗi này thường là do Bạn chỉnh lề margin chưa hợp lý thôi, và xuất hiện thanh cuộn là do lố độ rộng.

Bạn chỉnh  lại một số thuộc tính margin và độ rộng như sau:

Trong phần Desktop

Chỉnh lại class này (bạn cho nó hở trái 5px thì sẽ không sát lề được)

.tintucmoi{
width:670px;
/*margin-left:5px;*/
margin-top:5px;
margin:0px; /*Định margin bằng 0 vào đây để sát lề*/
}


Trong màn hình 480px và 320px các thuộc tính width=100% bạn nên thay bằng auto, còn hình thì phải dùng %. Các màn hình còn lại làm tương tự

@media only screen and (min-width:480px) and (max-width:767px)
{
.tintucmoi{
width:auto;
float:none;
clear:both;
background-color:#FF0;
margin:0px; /*Định margin bằng 0 vào đây để sát lề*/
}
.tintucmoi_cotphai, .tintucmoi_cottrai
{
width:auto;
float:none;
clear:both;
}
.tintuc23
{
margin-top:5px;
margin-bottom:5px;
padding:0px;
}
/*.tintucmoi_cottrai
{
width:auto;
float:none
}*/
.slide_hinh
{
width:auto;
clear:both;
}
.tintuc1{
width:auto;
float:none;
}
.tintuc1 img
{
border: 1px solid #CCC;
/*padding:5px;*/
width:100%;
padding:0px;
margin:0px;
}
.wrapper
{
width:100%;
}
.content_left
{
width:auto;
float:none;
background-color:#0C0;
overflow:hidden;
padding:0px;
}
.content_right
{
width:auto;
float:none;
}
.tintuc23
{
/*background-image:url(../images/bg_tinmoi.jpg);
background-color:#CCC;
background-repeat:no-repeat;*/
width:auto;
height:auto;
padding-top:10px;
margin-bottom:10px;
background:#0FF;
}
}


==========

@media only screen and (min-width:320px) and (max-width:479px)
{
.tintucmoi{
width:auto;
float:none;
clear:both;
margin:0px; /*Định margin bằng 0 vào đây để sát lề*/
}
.tintucmoi_cotphai, .tintucmoi_cottrai
{
width:auto;
float:none;
clear:both;
}
.tintuc23
{
margin-top:5px;
margin-bottom:5px;
padding:0px;
}
/*.tintucmoi_cottrai
{
width:100%;
float:none
}*/
.slide_hinh
{
width:auto;
clear:both;
}
.tintuc1{
width:auto;
float:none;
}
.tintuc1 img
{
border: 1px solid #CCC;
/*padding:5px;*/
width:99%; /*Chỗ này chỉnh 99% thôi vì phải trừ phần border 1px*/
padding:0px;
margin:0px;
}
.wrapper
{
width:auto;
}
.content_left
{
width:auto;
float:none;
margin:0px;
}
.content_right
{
width:auto;
float:none;
margin:0px;
}
}



Giáo viên trả lời:
Bạn check mail để nhận file làm bài tập

Giáo viên trả lời:
Đã upload link download mới. Hãy vào mục đính kèm 1 theo bài học để download về.

Giáo viên trả lời:

#section, header, footer, article, aside, div
{border:solid#DD2D30 1px;
height:30px;
margin:5px;
text-align:center;
line-height:30px;
}
.....
Nếu dùng div
<section class="col-sm-3">
<div>Noi dung cot trai</div>
</section>
như vậy thì preview sẽ thấy có border,
còn nếu dùng section
<section class="col-sm-3">
<section>Noi dung cot trai</section>
</section>
thì preview ko thấy đường border ở cột trái.
===================
Bạn định nghĩa #section thì bạn phải dùng bộ chọn lựa id để gọi nó còn nếu Bạn định nghĩa bằng dấu chấm vì dụ  .tenclass thì bạn dùng class để gọi nó.
Nếu bạn muốn chỉ muốn định dạng cho phần nội dung thì hãy tạo một class riêng ví dụ .tenclass rồi sau đó trong thẻ <section class="tenclass">Noi dung cot trai</section>
Còn nếu Bạn để section {các thuộc tính css} thì trong trang web thẻ nào là section thì nó sẽ bị ảnh hưởng hết.


Giáo viên trả lời:
tao menu Responsive


====================
Trong thư mục scripts mở tập tin flatmenu-responsive.js lên để sửa lại

$(function() {
// main menu toggler
$('.nav').prepend('<div class="menu-icon"><span>Menu</span></div>');
$('.nav').prepend('<div class="logo_menuchinh" style="float:left; padding-top:5px; padding-left:10px; color:#fff; margin-left:auto; margin-right:auto; text-align=center; line-height:40px; font-size:16px;font-weight:bold;font-family:Arial">Menu chính</div>');
$('.menu-icon').click(function(){
$('ul.dropdown').slideToggle(600);
$(this).toggleClass("active");
});
........

Thêm dòng màu đỏ vào
Trong phần định nghĩa CSS cho Desktop dấu chữ này đi

.logo_menuchinh {
display:none;
}

Trong phần CSS định nghĩa cho các màn hình di động @media only screen and .......chỉnh như sau:
.logo_menuchinh {
display:block !important ;
}


Giáo viên trả lời:
Kiểm tra mail để nhận link download

Giáo viên trả lời:
Đã gửi link download mới qua Email. Hãy kiểm tra mail để download soft về làm bài tập

Bạn cũng có thể download trong mục Đính kèm 1 và Đính kèm 2 trong phần bài học này.

Giáo viên trả lời:
1. lỗi ở cái nút " Gửi "
nó cùng 1class của nút " làm lại " nhưg không hỉu sao nó bị màu trắng như hình
mà nút ' làm lại thì không bị jì '

code :
<section class="button_contact">
<input type="submit" value="Gửi" class="square xsmall red">
<input type="reset" value="Làm Lại" class="square xsmall red">
</section>

nhưg preview ở firefox thì không dính lỗi này


2. lỗi thứ 2 là

khi em thêm đoạn class tô background để tạo hợp lệ cho các input
code:


input:invalid
{
background:#FFCC99;
}

input:valid
{
background:#FFFFFF;
}

thì đoạn class này nó che mất 2cái icon nằm trong trường input username và passwords ạh

nếu xoá đoạn này đi thì nó hiện lại 2cái icon

Thày júp em xử lý với ạh, em cảm ơn thày nhìu

đoạn code của phần login:

<section>
<label>User name:</label>
<input name="username" type="text" class="username" id="username" required title="Xin vui lòng nhập user name" pattern="[a-z,A-Z,0-9]{5,}" />
</section>


<section>
<label>Password:</label>
<input name="password" type="text" class="password" id="password" required title="Xin vui lòng nhập password" pattern="{5,}" />
</section>

<section>
<label>Ghi nhớ:</label>
<input type="checkbox" name="rememberme" id="rememberme" />
</section>

<section>
<input type="submit" value="Đăng Nhập" class="square xsmall red"/>
</section>

/****************************/

.username {
background-image: url(../images/username.gif);
padding-left: 20px;
border: 1px solid #0099CC;
background-repeat: no-repeat;
width: 90px;
}
.password {
background-image: url(../images/password.gif);
padding-left: 20px;
border: 1px solid #0099CC;
background-repeat: no-repeat;
width: 90px;
}


cach thiet ke form bang html5huong dan tao form bang html5

======================

Khi bạn định nghĩa CSS như vậy

input:invalid
{
background:#FFCC99;
padding-left: 20px;
border: 1px solid #0099CC;
background-repeat: no-repeat;
}

input:valid
{
/*background:#FFFFFF;*/
}

Thì các nút cũng thuộc thẻ <input> do đó nó sẽ dính nền trắng luôn. 
=> Hãy bỏ thuộc tính màu trắng trong phần valid đi

Còn phần mất icon trong phần đăng nhập thì Bạn có thể xử lý như sau:

.username {
background-image: url(../images/username.gif) !important;
padding-left: 20px;
border: 1px solid #0099CC;
background-repeat: no-repeat;
width: 90px;
}
.password {
background-image: url(../images/password.gif) !important;
padding-left: 20px;
border: 1px solid #0099CC;
background-repeat: no-repeat;
width: 90px;
}

=> hãy sử dụng thêm thuộc tính !important để nó ưu tiên lấy ảnh nền, nếu không có thuộc tính này thì sẽ bị màu nền background:#FFCC99; trong phần định nghĩa input:invalid che mất mấy icon này


Giáo viên trả lời:
Xem mã số câu hỏi (#468) trong phần Hỏi đáp