day4-盒子模型与样式排版

1.块元素基础特性(block)

2概念: 让开发人员更好的进行网页布局.把网页分割为一个个区块.

常用块元素:
    div,p,h1-h6,ul,ol,li,dl,dt,dd
块元素的特性:
    1.块元素总是独占一行的
    2.块元素有宽度,高度,边距属性.这些属性都可以自己设置
    3.块元素的宽度默认是浏览器的100%.高度为内容高度
    4.块元素可以包裹行内元素/其他块元素
块元素就像是斗地主.他有自己独立的一块地盘

2.行内元素基础特性(inline)

概念: 和块元素相比,行内元素就是打工仔.它主要是作为内容. 它没有自己的地盘,它的大小就是自身内容的大小.所以给它设置宽高,对齐都是没有反应的

常用行内元素:
    span  a  b   strong  i  u  img
行内元素的特性:
    1.行内元素的宽高就是自身内容大小
    2.行内元素设置宽高是没意义的.它不具备结构能力
    3.行内元素不会独占一行.多个行内元素会在一起
    4.行内元素从规范性来说.是不能放块元素.只能放其他行内元素

a标签 --> 它和用户体验相关.所以a标签可以包裹块元素 -- 尤其在移动端

img :  行内元素
    img虽然可以设置宽高.但它不属于块元素.因为宽高是它自身属性

3.行内块元素(inline-block)

行内块元素是行内和块元素的集合体.同事具备两者的特征(主块 次行).主要用来做水平横向布局.
    1.不会独占一行,和相邻的元素(行内块)在一行时.末尾有间隔
    2.默认宽高为内容宽度
    3.宽高,内外边距都可以设置

4.盒子模型(div)

盒子组成:
    外边距 --> 边框 --> 内边距 --> 内容

外边距margin:
    盒子距离外层边界的距离
内边距padding:
    盒子内容距离盒子边框的距离

盒子的核心属性:
    width:   宽度,默认为浏览器的100%
    height:  高度,默认为盒子的内容
    overflow: 溢出处理(盒子装不下了怎么处理)
            visible;   正常显示溢出的部分
            hideen;  隐藏溢出的部分
            scroll;   通过滚动条方式显示溢出内容
            auto;  让浏览器自己看着办

如果盒子的宽高写死了.再设置padding内边距.会把盒子撑大
如果没有写死.盒子的宽高就随着内容变化
有时候写大盒子.为了后续拓展性,只会写宽度,不写高度.让盒子随着内容增长

5.盒模型标签属性

复合写法:
    background   image   color  size  position
    background:  url()  center/cover;     // center/cover显示中间内容再加缩放

margin -- 设置外边距
    margin: 10px;
padding -- 设置内边距
    padding: 10px;

margin和padding的样式写1-4个数值.对应含义也不同
    padding: 10px;     # 距离上下左右10像素
    padding: 10px 20px;  # 距离上下10像素  距离左右20像素
    padding: 10px 20px 30px;  # 距离上边10像素  左右20像素 下面30像素
    padding: 10px 20px 30px 40px: # 距离上边10像素 右边20像素 下边30像素 左边40像素

margin设置左右居中:
    margin 任意值 auto;   注意:padding不加auto
    auto会自动计算页面宽度.来实现居中效果 

单独设置方向
    margin-top --> 设置上外边距
    margin-right --> 设置右外边距
    margin-bottom --> 设置下外边距
    margin-left --> 设置左外边距

    padding-top --> 设置上内边距
    padding-right --> 设置右内边距
    padding-bottom --> 设置下内边距
    padding-left --> 设置左内边距

6.边框(border)

边框的复合写法:
    border: 1px solid #096;   # 粗细   样式  颜色

border-width --> 设置边框粗细
    border-width: 5px;
border-style --> 设置边框样式
    border-style: solid; 实线
border-color --> 设置边框颜色
    border-color: #096;
border-radius --> 设置边框圆角
    border-radius: 15px;

border-top  --> 设置上边框
border-right --> 设置右边框
border-bottom --> 设置下边框
border-left --> 设置左边框

拓展案例 -- 手机壁纸切换

案例里面用到了一个js模块. jQuery,需要另外导入 -->通过这个网站https://www.bootcdn.cn/,进行实时的cdn导入

1.大盒子
2.手机盒子
3.相册盒子
4.背景候选图
5.js点击切换

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Google</title>
   <style>
      .mi{
        width: 700px;
        height: 700px;
        border: 3px solid  #096;
        margin: 100px auto;
      }
      .phone{
        width: 200px;
        height: 450px;
        border: 5px solid #000;
        margin: 30px auto;
        border-radius: 30px;
        background:url(./day4-盒子模型与样式排版/img/2.jpg) center/cover;
      }
      .album{
        width: 600px;
        height: 50px;
        margin: 30px auto;
        background-color: aqua;

      }
      .wallpage{
        display: inline-block;
        margin: 2px 15px;
        width: 45px;
        height: 45px;
        border: 2px soild #000;
        border-radius: 10px;
        background: url(./day4-盒子模型与样式排版/img/1.jpg) center/cover;
      }
      .wallpage:nth-child(2){
        background: url(./day4-盒子模型与样式排版/img/2.jpg) center/cover;
      }
      .wallpage:nth-child(3){
        background: url(./day4-盒子模型与样式排版/img/3.jpg) center/cover;
      }
      .wallpage:nth-child(4){
        background: url(./day4-盒子模型与样式排版/img/4.jpg) center/cover;
      }
      .wallpage:nth-child(5){
        background: url(./day4-盒子模型与样式排版/img/5.jpg) center/cover;
      }
      .wallpage:nth-child(6){
        background: url(./day4-盒子模型与样式排版/img/6.jpg) center/cover;
      }
      .wallpage:nth-child(7){
        background: url(./day4-盒子模型与样式排版/img/7.jpg) center/cover;
      }
   </style>  
</head>
<body>
<div class="mi">
    <div class="phone"> </div>
    <ul class="album">
        <li class="wallpage"></li>
        <li class="wallpage"></li>
        <li class="wallpage"></li>
        <li class="wallpage"></li>
        <li class="wallpage"></li>
        <li class="wallpage"></li>
        <li class="wallpage"></li>
    </ul>
</div>
<!-- 导入jQuery模块 -->
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script> 
     <script>
        // 1.点击  2.壁纸 --> 当我点击壁纸实时触发一个功能. 给壁纸添加点击事件(点击壁纸,执行一个功能函数)
        // 点击壁纸,把手机图片,更换为壁纸图片
        // this指的是当前点击的壁纸
        // 当我点击壁纸时. 找到.phone, 把.phone的图片.  换成现在点击的壁纸的图片
        $('.wallpage').click(function(){
            $('.phone').css('background-image',$(this).css('background-image'))
        })
     </script>
</body>
</html>

实现效果:

点击小框中的图手机壁纸会自动切换

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值