Hãy đăng ký thành viên để có thể dễ dàng trao đổi, giao lưu và chia sẻ về kiến thức đồ họa.
  1. Hãy đăng ký subscribe kênh Youtube mới của Việt Designer tại địa chỉ: Youtube.com/VietDesignerChannel để theo dõi các video về thiết kế đồ họa. Do trước đó kênh cũ bị Youtube quét không rõ lý do, trong thời gian chờ kháng cáo nếu các bạn thấy video trên diễn đàn bị die không xem được thì có thể vào kênh mới để tìm xem video sơ cua nhé.
    Loại bỏ thông báo

[Thảo luận] Nguyên tắc HTML/CSS

Chủ đề thuộc danh mục 'Hỏi đáp - Thảo luận về web' được đăng bởi dong nv, 5/6/14.

Lượt xem: 5,471

  1. dong nv Thành viên cấp 1

    Chào mọi người!
    Mình đã học và tìm hiểu về code Html/Css gần 2 năm và hôm nay tự nhiên có người feedback là:"Chú bỏ ngay cái kiểu để thẻ <a> nằm bao ngoài thẻ <div> đi nhé! Sai nguyên tắc HTML". Do là cũng ko biết có cái nguyên tắc này hay ko nên đem lên đây để mọi người cho em xin ý kiến cũng là để những ai chưa biết thì tham khảo luôn ạ!

    Theo em thì đặt thẻ <a> ở ngoài thẻ <div> thì nó chẳng làm sao cả, vì nó ko ảnh hưởng đến giao diện, từ lúc dậy thì đến giờ, em lên code giao diện chưa bao giờ bị lỗi với vấn đề này cả! Em cũng ko hiểu nguyên tắc kia ở đâu ra, nếu có thì hẳn là phải còn những nguyên tắc khác nữa, nếu ai biết về đống nguyên tắc này thì có thể cho em biết tại sao lại ko được dùng, nếu dùng thì bị lỗi gì ko ạ?

    ...
    pitlamgi thích bài viết này
  2. dong nv

    dong nv Thành viên cấp 1

    Em xin cảm ơn!
  3. huynhtoan.it

    huynhtoan.it Thành viên cấp 2

    Nếu đó là sếp hoặc người trực tiếp dẫn dắt bạn vào nghề thì bạn hãy nghe theo. Vì a dành cho link hoặc hover link.
    Bạn có thể set width height cho thẻ a để phù hợp với giao diện (Thường thì div sẽ được lồng thêm các thẻ khác nên để a bao các thẻ đó thì trông hơi :v cùi bắp).

    Còn nếu đó là người dưng hay chỉ là thằng cờ hó nào k quen biết thì kệ nó. Mình viết sao cũng được :D

    Tui đây nhiều khi chả có cái quy cmn tắc nào cả :D
    Nguyễn Tất Thắngdong nv thích bài viết này.
  4. layz_vip

    layz_vip Thành viên cấp 2

    Mình đôi lúc cũng cắt vậy, cũng không thấy có làm sao hết !. Không hiểu có nguyên tắc gì nữa !
    dong nv thích bài viết này
  5. dong nv

    dong nv Thành viên cấp 1

    Mình thì để <a> ở ngoài <div> để tiện cho người dùng click vào link sẽ dễ dàng hơn thay vì click vào 1 dòng chữ. Nếu là vì để như thế nhìn code ko chuyên nghiệp thì ... kệ, vì mình chỉ quan tâm là code giao diện của mình ko bị lỗi và người dùng cảm thấy dễ chịu và tiện lợi. :D:D:D
    Nhưng mà tên kia nhắc đến 2 từ nguyên tắc nên mình thắc mắc là ko biết nguyên tắc đấy nó chui ở đâu ra, hơi khó chịu 1 tí! Mình cũng ko set width, height gì cho <a> cả, mình chỉ để link bao lấy div thôi. Chủ yếu là để tiện mà, ko phải vì thiếu thẻ mà để <a> ở ngoài. :D:D:D
    layz_vip thích bài viết này
  6. layz_vip

    layz_vip Thành viên cấp 2

    chuẩn luôn bạn, đôi khi mình làm cho người dùng tiện ấn
  7. spiderminion

    spiderminion Thành viên cấp 1

    Nếu thẻ <a> là nguyên 1 phần nội dung lớn (ở trong ví dụ có img, title, content ..v.v..) thì có thể sẽ có div ở trong đó để trình bày các phần đẹp và theo mục đích của người viết front-end code. Và không có "nguyên tắc" nào là cấm không được dùng div trong thẻ <a> cả ...
    dong nv, Texture_SSKNguyễn Tất Thắng thích bài viết này.
  8. Nguyễn Tất Thắng

    Nguyễn Tất Thắng Rất là bình thường

    Sao ko đặt ~ thuộc tính của div vào cái a luôn thì đỡ phải khai báo thêm div ko :D
  9. Hà Duy Phương

    Hà Duy Phương Thành viên cấp 2

    Em theo quy tắc div ngoài a
    như vậy nó bao dòng đẹp hơn\m/:-q
  10. Texture_SSK

    Texture_SSK Thành viên cấp 2

    Như #7 đó
    - thẻ <a> trong CSS dùng chung
    - thẻ <div> thì mỗi thẻ một id riêng
  11. huynhtoan.it

    huynhtoan.it Thành viên cấp 2

  12. Texture_SSK

    Texture_SSK Thành viên cấp 2

    huynhtoan.it : = )
    Ý mình là như #7 đó. style của thẻ <a> là dùng cho mọi đường link. Còn mỗi <div> lại có một style riêng. Nếu đặt <a> ngoài <div> thì style riêng của <div> có thể sẽ chen lấn và làm style của link không đồng bộ. Dẫn chứng như dùng CSS 3 với thuộc tính transition-duration coi. Ở thẻ <a> ta đặt là 2s, tức là muốn quá trình chuyển đổi 2s, trong khi các <div> lại là 1s, 3s, 4s, ... chẳng hạn thì sẽ không đồng bộ dẫn đến hiệu ứng di chuột nhanh chậm khác nhau đó. Tất nhiên trường hợp đó cũng hiếm.
    Xin lỗi vì mình ns khó hiểu. Có lẽ mình cũng chưa hiểu hết chăng.
  13. Texture_SSK

    Texture_SSK Thành viên cấp 2

    Đọc topic lại nhớ ngày xưa thời chúng ta còn xài IE 6 đó mỗi lần bấm link có cái khung nét đứt bao quanh. Nếu đặt <a> ngoài <div> thì có khả năng chưa bấm vào đối tượng link đã hiện bàn tay rồi.
  14. huynhtoan.it

    huynhtoan.it Thành viên cấp 2

    Hiện bàn là chuyện bình thường. Nhiều khi thẻ div, button mình cũng cho hiện luôn. Vì nhiều khi mình muốn action đó được chú ý :)

    Do đó chả có quy gì cả. Có chăng là sự tôn trọng cái người dạy mình nếu họ nói thế vì nó chả ảnh hưởng. Còn cái kiểu nói mà ra lệnh thì @@@ quăng cái dép zô mặt nó :D
  15. Texture_SSK

    Texture_SSK Thành viên cấp 2

    huynhtoan.it Đúng rồi tóm lại đặt <a> trong <div> đẹp hơn. Còn không thích thì cứ đặt <a> ngoài <div>. Ns thật cũng chưa thấy kiểu <a> ngoài <div> bao giờ. Giống như <br> với <br /> ý
  16. dong nv

    dong nv Thành viên cấp 1

    Cảm ơn các bác! Ngay bây giờ mình sẽ cầm chiếc dép qua phòng kĩ thuật! Hẹn gặp lại sau! Trân trọng. :)
  17. dong nv

    dong nv Thành viên cấp 1

    Nguyễn Tất Thắng: Mình đặt <a> ở ngoài cốt là lấy link cho cả <div> to, mình ko set thuộc tính của <div> ở bên trong vì đề phòng trường hợp là xảy ra lỗi, dù sao thì có cái <div> bao quanh thì cũng an toàn hơn mà, vì mình cũng ko chắc chắn là ko có lỗi gì!
    Nguyễn Tất Thắng thích bài viết này
  18. pham van duc

    pham van duc Mới đăng kí

    Thẻ <a> thuộc nhóm thẻ Inline, <div> thuộc nhóm thẻ Block. Theo chuẩn thì thẻ inline không thể chứa thẻ block bên trong nó :D
  19. Pangting

    Pangting Thành viên cấp 1

    bạn có thể xem quy tắc ở đây http://www.w3.org/TR/REC-html40/struct/global.html#block-inline

    Người ta định nghĩa là block (div, p, ...) là thành phần lớn, là nơi chứa những thành phần nhỏ bên trong, có xuống dòng, có khoảng cách trên dưới (tuỳ mặc định), còn inline (a, span) là thành phần nhỏ, chỉ chứa nội dung và dữ liệu (text, data), không xuống dòng, không cách dòng. Quy ước của người ta là thành phần nhỏ thì không chứa thành phần lớn, như vậy khi nhìn vào code thấy rõ ràng cấu trúc trên dưới, trong ngoài. Nói chung là sẽ làm cho code đẹp và dễ hiểu và có ý nghĩa hơn. Trường hợp bạn viết một file rất dài và cấu trúc phức tạp thì việc làm đúng theo quy tắc sẽ giúp bạn dễ tìm ra lỗi, không quên đóng tag và cũng dễ viết css hơn. Còn thực tế thì có không tuân theo nguyên tắc web của bạn vẫn chạy ngon lành.
    minolta9xidong nv thích bài viết này.
  20. Dinh Cuong

    Dinh Cuong Thành viên cấp 3

    Thường ngta đặt id hay class trong <div> chứ k ai đặt lên <a>, nếu bạn bỏ <a> ngoài div thì bạn hướng CSS vào <a> như thế nào. Sai nguyên tắc hoàn toàn rồi.

Ủng hộ diễn đàn