Box Model: CSS Margin

ພາກຂອງບາດສາດທີ່ວົງກັບບາດສາດຂອງຫຼັກອາກາດແມ່ນ margin. ການກຳນົດ margin ຈະສ້າງ

ການກຳນົດຂອບເຂດຈຸດບາດທີ່ສຸດທີ່ຫຼາຍທີ່ສຸດແມ່ນການໃຊ້ margin attribute, attribute ນີ້ຍັງເຫັນກັບຄວາມດັບມາດຕະຖານ, ຄວາມດັບມາດຕະຖານສາມາດ, ຫຼືຄວາມດັບມາດຕະຖານລົງລາງ.

ທາງ margin CSS

ການກຳນົດຂອບເຂດຈຸດບາດທີ່ສຸດທີ່ຫຼາຍທີ່ສຸດແມ່ນການໃຊ້ margin attribute, attribute ນີ້ຍັງເຫັນກັບຄວາມດັບມາດຕະຖານ, ຄວາມດັບມາດຕະຖານສາມາດ, ຫຼືຄວາມດັບມາດຕະຖານລົງລາງ. margin attribute.

margin attribute ຍັງເຫັນກັບຄວາມດັບມາດຕະຖານທັງໝົດ: ປະກອບ, ນິນ, ມິມ, ຫຼື em.

margin ສາມາດກຳນົດເປັນ auto. ການໃຊ້ທີ່ຫຼາຍທີ່ສຸດແມ່ນການກຳນົດຄວາມດັບມາດຕະຖານສູງສັກສີສີ່ທີ່ບໍ່ອັນຕະລາງ: margin: 1/4 in;

h1 {margin : 0.25in;}

ບົດຕອນນີ້ແມ່ນຄວາມພິມຂອງ h1 ທີ່ມີຂອບເຂດຂອງຈຸດບາດສູງສັກສີສີ່ທີ່ບໍ່ອັນຕະລາງທີ່ຈະໃຊ້ຄວາມດັບມາດຕະຖານຂອງພາສາປະເທດປະເທດ (px):

h1 {margin : 10px 0px 15px 5px;}

与内边距的设置相同,这些值的顺序是从上外边距 (top) 开始围着元素顺时针旋转的:

margin: top right bottom left

另外,还可以为 margin 设置一个百分比数值:

p {margin : 10%;}

百分数是相对于父元素的 width 计算的。上面这个例子为 p 元素设置的外边距是其父元素的 width 的 10%。

margin 的默认值是 0,所以如果没有为 margin 声明一个值,就不会出现外边距。但是,在实际中,浏览器对许多元素已经提供了预定的样式,外边距也不例外。例如,在支持 CSS 的浏览器中,外边距会在每个段落元素的上面和下面生成“空行”。因此,如果没有为 p 元素声明外边距,浏览器可能会自己应用一个外边距。当然,只要你特别作了声明,就会覆盖默认样式。

ການສໍາລັບຄຳຕັດສິນ

ຍັງຈື່ງຈື່ງກວ່າ? ພວກເຮົາໄດ້ກ່າວໄວ້ກ່ຽວກັບການສໍາລັບຄຳຕັດສິນໃນສອງວັນທີ່ຜ່ານມາ. ມື້ນີ້ພວກເຮົາຈະອະທິບາຍເພື່ອນຳໃຊ້ການສໍາລັບຄຳຕັດສິນດຽວກັນ.

ມີຕອນທີ່ພວກເຮົາຈະຂຽນຄຳຕັດສິນທີ່ຕົກຕ້ານກັນ:

p {margin: 0.5em 1em 0.5em 1em;}

ການສໍາລັບຄຳຕັດສິນຈະບໍ່ຕ້ອງການຂຽນຄຳຕັດສິນຊ້າຍຄຽງຄືກັນ. ກົດລະບຽບນີ້ຈະຮູ້ດຽວກັນກັບກົດລະບຽບດ້ານຫຼັງ:

p {margin: 0.5em 1em;}

ຄຳຕັດສິນທັງສອງຈະສືບຕໍ່ທີ່ທັງໝົດ 4 ຄຳຕັດສິນ. ບາງວິທີຈະກວດວ່າ? CSS ກໍານົດກົດລະບຽບທີ່ອະນຸຍາດການຕັດສິນຂະຫຍາຍດ້ານຫົວເຂດຫຼາຍກວ່າ 4 ຄຳຕັດສິນ. ກົດລະບຽບນີ້ແມ່ນ:

  • ຖ້າບໍ່ມີຄຳຕັດສິນສາມຄຳຕັດສິນສຳລັບການຫຼຸດດ້ານຊ້າຍ ຈະຖືກນຳໃຊ້ຄຳຕັດສິນສຳລັບການຫຼຸດດ້ານຂວາ.
  • ຖ້າບໍ່ມີຄຳຕັດສິນສາມຄຳຕັດສິນສຳລັບການຫຼຸດດ້ານລຸ່ມ ຈະຖືກນຳໃຊ້ຄຳຕັດສິນສຳລັບການຫຼຸດດ້ານເທີງ.
  • ຖ້າບໍ່ມີຄຳຕັດສິນສາມຄຳຕັດສິນສຳລັບຂະຫຍາຍດ້ານຂວາເຂດຊ້າຍ ຈະຖືກນຳໃຊ້ຄຳຕັດສິນສຳລັບການຫຼຸດດ້ານເທີງ.

ຮູບພາບດ້ານຫຼັງສະແດງວ່ານີ້ຫຼາຍກວ່າ:

ຄວາມຜົນງານ CSS

ຖ້າບໍ່ມີການຕັດສິນຄຳຕັດສິນສາມຄຳຕັດສິນສຳລັບຂະຫຍາຍດ້ານຫົວເຂດຫາຍຫຼັງຈາກຄຳຕັດສິນທີສອງ (ຂະຫຍາຍດ້ານຂວາ) ທີສີ່ (ການຫຼຸດດ້ານຊ້າຍ) ຈະຖືກສໍາລັບຈາກຄຳຕັດສິນທີສອງ. ຖ້າມີຄຳຕັດສິນສອງຄຳຕັດສິນທີສີ່ (ການຫຼຸດດ້ານຊ້າຍ) ຈະຖືກສໍາລັບຈາກຄຳຕັດສິນທີສອງ ແລະ ຄຳຕັດສິນທີສາມ (ການຫຼຸດດ້ານລຸ່ມ) ຈະຖືກສໍາລັບຈາກຄຳຕັດສິນທີໜຶ່ງ (ການຫຼຸດດ້ານເທີງ). ຄາວຄັກສຸດທ້າຍຈາກທີ່ມີຄຳຕັດສິນພຽງໜຶ່ງຄຳຕັດສິນຈະຖືກສໍາລັບຂະຫຍາຍສີ່ທັງໝົດ (ການຫຼຸດດ້ານເທີງ) ຄຳຕັດສິນພຽງໜຶ່ງຄຳຕັດສິນ.

ການນຳໃຊ້ພວກມັນວ່າຄວາມງາມຫນັງນັ້ນພຽງແຕ່ຕ້ອງບອກຄຳຕັດສິນທີ່ຈຳເປັນບໍ່ຈຳເປັນຕ້ອງຜູກມັດທັງສີ່ຄຳຕັດສິນ 4 ຄຳຕັດສິນ ເຊັ່ນ:

h1 {margin: 0.25em 1em 0.5em;}	/* 等价于 0.25em 1em 0.5em 1em */
h2 {margin: 0.5em 1em;}	/* 等价于 0.5em 1em 0.5em 1em */
p {margin: 1px;}			/* 等价于 1px 1px 1px 1px */

这种办法有一个小缺点,您最后肯定会遇到这个问题。假设希望把 p 元素的上外边距和左外边距设置为 20 像素,下外边距和右外边距设置为 30 像素。在这种情况下,必须写作:

p {margin: 20px 30px 30px 20px;}

这样才能得到您想要的结果。遗憾的是,在这种情况下,所需值的个数没有办法更少了。

ຕະຫລອດ, ຖ້າພວກເຈົ້າຕ້ອງການດຳເນີນຄວາມຂາດຂອງຂາຍຊ້າຍທັງໝົດນອກຈາກ margin-left (margin-left: 20px):

p {margin: auto auto auto 20px;}

ຕະຫລອດ, ພວກມັນຈະເຮັດໃຫ້ພວກເຈົ້າມີຜົນກະທົບດີ. ບັນຫາທີ່ຈະກະທົບແມ່ນວ່າ, ການໃຊ້ auto ຈະຫນັງກວ່າ. ຖ້າພວກເຈົ້າຕ້ອງການດຳເນີນຄວາມຂາດຂອງຂາຍຊ້າຍພຽງຫນຶ່ງສາຍ, ສາມາດໃຊ້ລັກສະນະພຽງຫນຶ່ງຂອງຂາດຂອງຂາຍຊ້າຍ.

ລັກສະນະພຽງຫນຶ່ງຂອງຂາດຂອງຂາຍຊ້າຍ

ພວກເຈົ້າສາມາດໃຊ້ບັນດາລັກສະນະພຽງຫນຶ່ງຂອງຂາດຂອງຂາຍຊ້າຍ ເພື່ອການດັດແກ້ຄວາມຂາດຂອງຂາຍຊ້າຍພຽງຫນຶ່ງຂອງສິ່ງທີ່ຈະດຳເນີນ. ຖ້າພວກເຈົ້າຕ້ອງການດຳເນີນ p ຂອງຂາຍຊ້າຍ, margin-left: 20px, ບໍ່ຈະໃຊ້ margin (ຕ້ອງຂຽນ auto), ແຕ່ສາມາດໃຊ້ວິທີດັ່ງຕໍ່ມາ:

p {margin-left: 20px;}

ພວກເຈົ້າສາມາດໃຊ້ບັນດາລັກສະນະດັ່ງຕໍ່ມາ ເພື່ອການດັດແກ້ຄວາມຂາດຂອງຫນຶ່ງຂອງຂາຍຊ້າຍ, ແຕ່ບໍ່ຈະມີຜົນກະທົບຫນຶ່ງສັກສິດຂອງຂາດຂອງຂາຍຊ້າຍອື່ນໆ:

ສະບັບທີ່ຈະໃຊ້ຫນຶ່ງຂອງການປະສົມປະສານພຽງຫນຶ່ງຂອງຂາດຂອງຂາຍຊ້າຍ, ອີງຕາມການນັ້ນ:

h2 {
  margin-top: 20px;
  margin-right: 30px;
  margin-bottom: 30px;
  margin-left: 20px;
  }

ຕະຫລອດ, ສຳລັບການນັ້ນ, margin ຈະຫນັງກວ່າ:

p {margin: 20px 30px 30px 20px;}

ບໍ່ວ່າຈະໃຊ້ປະສົມປະສານພຽງຫນຶ່ງຂອງຂາດຂອງຂາຍຊ້າຍ ຫຼື ໃຊ້ margin, ຜົນການຄົ້ນພົບຈະດຽວກັນ. ໂດຍທົ່ວໄປ, ຖ້າພວກເຈົ້າຕ້ອງການດັດແກ້ຂາດຂອງຫນຶ່ງຂອງສອງສາມຂອງຂາດຂອງຂາຍຊ້າຍ, margin ຈະຫນັງກວ່າ. ແຕ່ຈາກມຸມມອງການສະແດງຂອງເອກະສານ, ພວກມັນບໍ່ມີຄວາມເປັນໄປໄດ້ທີ່ຈະແຕກຕ່າງກັນ, ເພາະວ່າພວກເຈົ້າຕ້ອງການໃຊ້ວິທີທີ່ຈະຫນັງກວ່າພວກເຈົ້າ.

ຄຳແນະນຳ ແລະ ຄວາມຄິດເຫັນ

ຄຳແນະນຳ:Netscape ແລະ IE ອອກຂໍ້ຄວາມສະເພາະ body ທີ່ກຳນົດຄວາມຂາດມາດຕະຖານ (margin) 8px. ແຕ່ Opera ບໍ່ແມ່ນແນວນັ້ນ. ດັ່ງນັ້ນ, Opera ກຳນົດຄວາມຂາດຂອງເຄື່ອງກະຈາຍໃນໄລຍະພາຍໃນ (padding) ມາດຕະຖານ 8px, ເພາະວ່າພວກເຈົ້າຕ້ອງການດັດແກ້ຂາດຂອງບາງບານຂອງເວັບໄຊທັງໝົດ ແລະ ສະແດງຢ່າງຖືກຕ້ອງໃນ Opera, ຕ້ອງການດັດແກ້ຄວາມຂາດຂອງ padding body.

ຄວາມຂາດ CSS:

ການຕັ້ງຄວາມຂາດຂອງທີ່ປີກຂາຍຊ້າຍ
本例演示如何设置文本的左外边距。
设置文本的右外边距
本例演示如何设置文本的右外边距。
设置文本的上外边距
本例演示如何设置文本的上外边距。
设置文本的下外边距
本例演示如何设置文本的下外边距。
所有的外边距属性在一个声明中。
本例演示如何将所有的外边距属性设置于一个声明中。

CSS 外边距属性

属性 描述
margin 简写属性。在一个声明中设置所有外边距属性。
margin-bottom 设置元素的下外边距。
margin-left 设置元素的左外边距。
margin-right ການສ້າງທາງພາບກາງຂອງປະກອບ.
margin-top ການສ້າງທາງພາບກາງຂອງປະກອບ.