博客列表 >box-sizing的作用+伪类选择器的参数 an+b 的应用+媒体查询:@media规则

box-sizing的作用+伪类选择器的参数 an+b 的应用+媒体查询:@media规则

deathpool
deathpool原创
2021年09月27日 03:11:09520浏览

box-sizing的作用

  • 定义:
    box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素。

    例如,假如您需要并排放置两个带边框的框,可通过将 box-sizing 设置为 “border-box”。这可令浏览器呈现出带有指定宽度和高度的框,并把边框和内边距放入框中。

<p></p>

  • box-sizing 的三种值
  1. content-box :这是由 CSS2.1 规定的宽度高度行为。

    宽度和高度分别应用到元素的内容框。

    在宽度和高度之外绘制元素的内边距和边框。

  1. border-box:
    为元素设定的宽度和高度决定了元素的边框盒。

    就是说,为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。

    通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。

  2. inherit:规定应从父元素继承 box-sizing 属性的值。

<p></p>

  • 详细说明
    (margin,border,padding,内容区数值相同)
    1.当div块元素的盒模型css样式的box-sizing属性为默认值content-box时
    width=border+padding+内容区的像素=20+20+300=340px
    height=border+padding+内容区的像素=20+20+300=340px

效果:

css代码

  1. #asd {
  2. border: 10px dashed red;
  3. padding: 10px;
  4. width: 300px;
  5. height: 300px;
  6. background-color: black;
  7. color: white;
  8. font-size: 25px;
  9. background-clip: content-box;
  10. box-sizing: content-box;
  11. }

html代码

  1. <div id="asd">
  2. box-sizing:content-box;
  3. </div>

2.当div块元素的盒模型css样式的box-sizing属性border-box时
width=内容区+border+pandding=300px
height=内容区+border+pandding=300px

效果:

css代码

  1. div {
  2. border: 10px dashed red;
  3. padding: 10px;
  4. width: 300px;
  5. height: 300px;
  6. background-color: black;
  7. color: white;
  8. font-size: 20px;
  9. background-clip: content-box;
  10. box-sizing: border-box;
  11. }

html代码

  1. <div class="">
  2. box-sizing: border-box;
  3. </div>

content-box与 border-box区别

1.content-box:padding和border不被包含在定义的width和height之内。
对象的实际宽度=设置的width+padding+border
2.border-box:padding和border被包含在定义的width和height之内。
对象的实际宽度=设置的width(padding和border不会影响实际宽度)


伪类选择器的参数 an+b 的应用

伪类选择器选择器:
nth-of-type(an+b){代码}
元素有效编号:必须从1开始,n和b从0 开始
a:系数 n:计数器 b:偏移量

  1. <body>
  2. <ul class="list">
  3. <li>item01</li>
  4. <li>item02</li>
  5. <li>item03</li>
  6. <li>item04</li>
  7. <li>item05</li>
  8. <li>item06</li>
  9. <li>item07</li>
  10. <li>item08</li>
  11. </ul>
  12. </body>

1.选择某一个

.list > li:nth-of-type(0n+3) { color: red; }

2.选择前几个
.list > li:nth-of-type(-n + 3) { color: red; }

3.选择指定的及其之后的
.list > li:nth-of-type(n + 3) { color: red; }

4.选中偶数
.list > li:nth-of-type(2n) { color: red; }

5.选中奇数
.list > li:nth-of-type(2n+1) { color: red; }

6.倒数
nth-last-of_type(an+b)

媒体查询:@media规则

@media 规则在媒体查询中用于为不同的媒体类型/设备应用不同的样式。

媒体查询可用于检查许多事情,诸如:

  • 视口的宽度和高度
  • 设备的宽度和高度
  • 方向(手机或平板电脑处于横屏还是竖屏模式?)
  • 分辨率
  1. 移动端优先

css代码

  1. <style>
  2. @media (min-width: 480px) {
  3. html {
  4. font-size: 12px;
  5. }
  6. }
  7. @media (min-width: 640px) {
  8. html {
  9. font-size: 16px;
  10. }
  11. }
  12. @media (min-width: 720px) {
  13. html {
  14. font-size: 20px;
  15. }
  16. }
  17. </style>
  1. 电脑端优先

css代码

  1. <style>
  2. <!-- 桌面端由大到小 -->
  3. @media (max-width: 720px) {
  4. html {
  5. font-size: 20px;
  6. }
  7. }
  8. @media (max-width: 640px) {
  9. html {
  10. font-size: 16px;
  11. }
  12. }
  13. @media (max-width: 480px) {
  14. html {
  15. font-size: 12px;
  16. }
  17. }
  18. <!-- * 大于720时的设置-->
  19. @media (min-width: 720px) {
  20. html {
  21. font-size: 20px;
  22. }
  23. }
  24. </style>

注:
当遇到最大边界的问题设置 min_width以保证屏幕超过最大值时不会因为超边界而影响效果。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议