美文网首页
前端第三天

前端第三天

作者: knot98 | 来源:发表于2018-09-21 17:23 被阅读0次

前端第三天

目录:

  1. 盒模型

  2. 边界圆角

  3. a_img_list 标签

  4. 伪类选择器

  5. 盒模型布局


一、盒模型**

1、盒模型概念
  • 广义盒模型:文档中所有功能性及内容性标签,及文档中所有显示性标签
  • 狭义盒模型:文档中以块级形式存在的标签(块级标签拥有盒模型100%特性且最常用)
  • 盒模型组成:margin + border + padding + content
v_hint:content = width x height
2、代码示例
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>盒模型</title>
    <style type="text/css">
        .box {
            margin: 10px;
            border: solid;
            padding: 10px;
            width: 100px;
            height: 100px;
            /*background-color: orange;*/
            /*覆盖*/
            background: red;
        }
        /*组成:margin + border + padding + content*/
        /*content = width * height*/
        /*1.四个成员均具有自身独立显示区域,不相互影响(视觉上感觉会相互影响)*/
        /*2.margin/padding外边距/内边距控制布局*/
        /*3.border控制边框*/
        /*4.content控制内容*/

        /*padding*/
        /*与content共有背景颜色*/
        
        /*content*/
        /*内容显示区域*/
        /*红色区域 120 * 120 */
        /*content区域 100 * 100 => 内容显示区域*/

        /*值设置*/
        .box {
            /*控制四个方位*/
            /*margin: 20px;
            padding: 30px;*/
            
            /*上下 左右*/
            /*margin: 10px 20px;
            padding: 30px 40px;*/
            
            /*上 左右 下*/
            /*margin: 10px 20px 30px;
            padding: 30px 40px 50px;*/
            
            /*上 右 下 左*/
            margin: 10px 20px 30px 40px;
            padding: 30px 40px 50px 40px;
            /*总结*/
            /*1.规定起始 2.顺时针 3.不足找对面*/
        }

        /*边框: 宽度,颜色,样式*/
        .box {
            border-width: 10px;

            /*transparent透明,会透出背景颜色*/
            /*border-color: transparent;*/
            border-color: #333;

            /*solid solid dotted dotted outset inset double*/
            border-style: double;

            /*整体设置*/
            border: 5px solid orange;
        }


    </style>
</head>
<body>
    <div class="box">12345</div>
</body>
</html>
3、content
  • 通过设置width与height来规定content
  • 块级标签可以设置自身宽高,默认宽为父级宽(width=auto)、高为0,高度可以由内容决定
  • 内联标签不可以设置自身宽高,默认宽高均为0,宽高一定由内容决定
4、border
  • border(边框)由border-width(宽度)、border-color(颜色)、border-style(风格)三部分组成
  • border成员:border-left、border-right、border-top、border-bottom
  • border-width成员:border-left-width、border-right-width、border-top-width、border-bottom-width
  • border-color成员:border-left-color、border-right-color、border-top-color、border-bottom-color
  • border-style成员:border-left-style、border-right-style、border-top-style、border-bottom-style
风格 解释
solid 实线
dashed 虚线
dotted 点状线
double 双实线
groove 槽状线
ridge 脊线
inset 内嵌效果线
outset 外凸效果线
v_hint:border满足整体设置语法,eg:border: 1px solid red;
5、padding
  • padding成员:padding-left、padding-right、padding-top、padding-bottom
  • padding整体设置
值得个数 方位
1 上下左右
2 上下 | 左右
3 上 | 左右 | 下
4 上 | 右 | 下 | 左

margin 与 padding 总结:

  1. 规定起始
  2. 顺时针
  3. 不足找对面
6、margin
  • margin成员:margin-left、margin-right、margin-top、margin-bottom
  • margin整体设置
赋值个数 方位
1 上下左右
2 上下 | 左右
3 上 | 左右 | 下
4 上 | 右 | 下 | 左

二、边界圆角**

1、代码示例
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>边界圆角</title>
    <style type="text/css">
        .box {
            width: 200px;
            height: 200px;
            background-color: orange;
        }
        /*单角设置*/
        .box {
            /*一个固定值: 横纵*/
            border-top-left-radius: 100px;
            /*两个固定值:横 纵*/
            border-top-left-radius: 100px 50px;
            /*百分比赋值*/
            border-top-left-radius: 100%;
        }

        /*整体赋值*/
        .box {
            /*不分方位(横纵)*/
            /*左上为第一个角,顺时针,不足找对角*/
            /*border-radius: 10px 100px 50px;*/

            /*区分横纵*/
            /*1./前控制横向,后控制纵向*/
            /*2.横向又可以分为1,2,3,4个值,纵向毅然*/
            border-radius: 10px 100px 50px / 50px;
            /*左上横10 右上横100 右下横50 左下横100 / 纵向全为50*/
            /*所有最多可以赋值8个值*/
        }
    </style>
</head>
<body>
    <div class="box"></div>
</body>
</html>
2、border-radius
  • yi'ran
成员 解释
border-top-left-radius 左上 方位
border-top-right-radius 右上 方位
border-bottom-left-radius 左下 方位
border-bottom-right-radius 右下 方位
  • 单方位设置
赋值个数(值类型:长度 | 百分比) 解释
1 横纵
2 横 | 纵
  • 按角整体设置
赋值个数(值类型:长度 | 百分比) 解释
1 左上 右上 左下 右下
2 左上 右下 | 右上 左下
3 左上 | 右上 左下 | 右下
4 左上 | 右上 | 右下 | 左下
  • 分向整体设置
格式 解释
1 / 1 横向 | 纵向
3、其他相关属性
  • max|min-width|height
  • overflow
描述
visible 默认值。内容不会被修剪,会呈现在元素框之外。
hidden 内容会被修剪,并且其余内容是不可见的。
scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit 规定应该从父元素继承 overflow 属性的值。
  • display
描述
inline 内联
block 块级
inline-block 内联块

三、a_img_list 标签**

代码示例

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>a_img_list</title>
    <style type="text/css">
        /*reset操作: a标签一些默认属性的清除*/
        a {
            color: #333;
            text-decoration: none;
            outline: 0;
        }
    </style>
</head>
<body>
    <!-- 一.基本使用 -->
    <!-- 超链接标签:a -->
    <!-- 双/行/单一类型标签 -->
    <a href="https://www.baidu.com">前往百度</a>
    <a href="./05_边界圆角.html">前往边界圆角页面</a>
    <!-- ./或省略代表当前文件所在路径,可以访问与该文件同路径下的所有文件及文件夹 -->
    <a href="./temp/temp.html">前往temp页面</a>

    <!-- 二.属性 -->
    <!-- title:鼠标悬浮的文本提示 -->
    <!-- target:_blank,新开空白标签位来打开目标页面 -->
    <a href="http://sina.com.cn" title="新浪网" target="_blank">前往新浪</a>

    <!-- 三.其他应用场景 -->
    <!-- mailto | sms | tel -->
    <a href="mailto:zero@163.com">信息给zero</a>
    

    <!-- 四.锚点 -->
    <!-- a与a href="#锚点名" -- name="锚点名" -->
    <!-- a与标签 href="#锚点名" -- id="锚点名" -->
    <a href="#tag">前往底部</a>
    <!-- 测试锚点请tab -->
    br * 100
    <!-- 设置一个锚点 -->
    <!-- .bottom做底部布局的区域 -->
    <div class="bottom">
        <a name="tag"></a>
        <!-- <i id="tag"></i> -->
        <!-- <div id="tag"></div> -->
        ...
    </div>

    <!-- 五.img使用 -->
    <!-- src可以连接本地及网络图片 -->
    <!-- alt:资源加载失败时的文本提示 -->
    <!-- title:图片的文本信息(鼠标悬浮时展示) -->
    <!-- <img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1537511739499&di=f5f2763fe54c8ea4d89b2fafe0569c84&imgtype=0&src=http%3A%2F%2Fimg.alicdn.com%2Fimgextra%2Fi1%2FTB2IZbxogmTBuNjy1XbXXaMrVXa_%2521%25212754890204.jpg_400x400.jpg" alt="雪纳瑞" title="一览雪纳瑞风姿"> -->

    <!-- 六.list列表 -->
    <!-- reset操作 -->
    <style type="text/css">
        ol, ul {
            margin: 0;
            padding: 0;
            list-style: none;
        }
    </style>

    <!-- 有序列表 -->
    <ol>
        <li>列表项</li>
        <li>列表项</li>
        <li>列表项</li>
    </ol>
    <!-- 无需列表:常用 -->
    <ul>
        <li>列表项</li>
        <li>列表项</li>
        <li>列表项</li>
    </ul>
</body>
</html>

1、a标签

1—1、常用用法
<a href="https://www.baidu.com">前往百度</a>
<a href="./index.html">前往主页</a>
1—2、相对路径
以当前文件作为参考,.代表当前路径,..代表上一级目录
1—3、常用属性
title -- 链接说明
target -- _self | _blank -- 目标位置
1—4、其他用法
  • mailto:邮件给...
  • tel:电话给...
  • sms:信息给...
1—5、a标签reset操作
a {
    color: #333;
    text-decoration: none;
}
1—6、锚点
① <a href="#tag">前往锚点</a> <a name="tag" des="锚点"></a>
② <a href="#tag">前往锚点</a> <i id="tag" des="锚点"></i>
1—7、鼠标样式
{
    cursor: pointer | wait | move;
}

2、img标签

2-1、常用用法
<img src="https://image/icon.gif" />
<img src="./icon.gif" />
2-2、常用属性
alt -- 异常解释
title -- 图片解释

3、list标签

3-1、有序列表
<ol>
    <li></li>
    <li></li>
</ol>

3-2、无序列表
<ul>
    <li></li>
    <li></li>
</ul>

3-3、list的reset操作
ol, ul {
    margin: 0;
    padding: 0;
    list-style:none;
}

四、伪类选择器

1、代码示例
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>伪类选择器</title>
    <style type="text/css">
        a {
            color: #333;
            text-decoration: none;
        }
        /*:link为一个整体,代表超链接的初始状态*/
        a:link {
            color: orange;
        }
        /*:hover鼠标悬浮*/
        a:hover {
            color: green;
            /*鼠标样式*/
            cursor: pointer;
        }
        /*:active活动状态中(被鼠标点击中)*/
        a:active {
            color: red;
        }
        /*:visited访问过的状态*/
        a:visited {
            color: cyan;
        }
        /*普通标签运用: :hover :active*/
        .box {
            width: 200px;
            height: 200px;
            background-color: red;
        }
        .box:hover {
            background-color: orange;
            cursor: pointer;
        }
        .box:active {
            width: 400px;
            border-radius: 50%;
        }


        /*内容伪类*/
        .txt:before {
            content: "我是前缀~~~"
        }
        .txt:after {
            content: ">>>我是后缀"
        }
        
        /*伪类可以单独出现*/
        /*:after {
            content: "呵呵"
        }*/


        /*位置伪类*/
        /*1.位置从1开始*/
        /*2.*/
        /*先匹配位置,再匹配类型: 找到所有结构下的第2个标签,如果刚好是div,那么匹配成功*/
        /*body a-baidu div01*/
        div:nth-child(2) {
            color: green;
        }
        
        /*先确定类型,再匹配位置*/
        /*先将页面中所有div找出,在匹配那些在自己结构层次下的第二个div*/
        div:nth-of-type(2) {
            color: cyan;
        }

        /*2n*/
        /*
            div ooo div
            ooo div ooo
            div ooo div
        */

        /*3n*/
        /*
            div div ooo
            div div ooo
            div div ooo
        */

        /*3n - 1*/
        /*
            div ooo div
            div ooo div
            div ooo div
        */

        /*取反伪类*/
        /*:not([d]) {
            color: red;
        }
        body.body {
            color: orange;
        }*/
        span:not([d]) {
            color: red;
        }
    </style>
</head>
<body class="body">
    <!-- 1.a标签的四大伪类 -->
    <a href="./123.html">访问页面</a>
    <a href="https://www.baidu.com">访问过页面</a>
    <div class="box">box</div>

    <!-- 2.内容伪类 -->
    <div class="txt">原来的文本</div>

    <!-- 3.位置伪类 -->
    <div class="wrap">
        <span>span01</span>
        <div>div01</div>
        <div>div02</div>
    </div>
    
    <!-- 4.取反伪类 -->
    <span d>12345</span>
    <span dd>67890</span>
</body>
</html>
1、a标签四大伪类
  • :link:未访问状态
  • :hover:悬浮状态
  • :active:活跃状态
  • :visited:已访问状态
2、内容伪类
  • :before:内容之前
  • :after:内容之后
:before, :after {
    content: "ctn";
}
3、索引伪类(位置伪类)
  • :nth-child(n):位置优先,再匹配类型:找到所有结构下的第二个标签,如果刚好是div,那么匹配成功
  • :nth-of-type(n):类型优先,再匹配位置:先将页面中所有的div找出,再匹配那些在自己结构层次下的第二个div
v_hint:值可以为位置数,也可以为2n、3n...,代表2的倍数,3的倍数,且位置数从1开始
4、取反伪类
  • :not(selector):对selector进行取反

五、盒模型布局

1、代码示例
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>盒模型布局</title>
    <style>
        /*做页面必备reset操作*/
        html, body {
            margin: 0
        }
        .box, .wrap {
            width: 200px;
            height: 200px;
            background-color: red;
        }
        .wrap {
            background: orange;
        }
        /*影响自身布局*/
        /*.box {
            margin-top: 30px;
            margin-left: 100px;
        }*/
        /*影响兄弟布局*/
        /*margin-bottom影响上下兄弟,尽量别对margin-right进行设置*/
        /*margin-right影响左右兄弟,尽量别对margin-bottom进行设置*/
        .box {
            /*margin-bottom: 30px;*/
            margin-right: 100px;
        }

        /*display:显示方式*/
        /*块:block*/
        /*内联:inline*/
        /*内联块:inline-block*/
        .box, .wrap {
            display: inline-block;
            /*vertical-align: top;*/
        }

        
        /*兄弟坑*/
        /*盒模型布局坑只出现在和margin-top相关的地方*/
        .s1, .s2 {
            width: 100px;
            height: 100px;
            background-color: pink;
        }
        /*重叠取大值*/
        .s1 {
            margin-bottom: 30px;
        }
        .s2 {
            margin-top: 50px;
        }
        
        /*父子坑*/
        .sup {
            width: 200px;
            height: 200px;
            background-color: cyan;
        }
        .sub {
            width: 100px;
            height: 100px;
            background-color: orange;
        }
        /*父子top重叠,取大值*/
        .sup {
            margin-top: 50px;
        }
        .sub {
            margin-left: 50px;
        }
        /*解决盒模型经典布局坑*/
        /*1.将父级固定*/
        .sup {
            /*border-top: 1px solid black;*/
            /*border-top: 1px solid transparent;*/
            /*保证显示区域 200*200 */
            /*height: 199px;*/
        }
        .sub {
            /*margin-top: 50px;*/
        }
        /*2.通过padding*/
        .sup {
            padding-top: 50px;
            height: 150px;
        }

        
    </style>
</head>
<body>
    <div class="box"></div>
    <div class="wrap"></div>

    <!-- 坑 -->
    <section class="s1"></section>
    <section class="s2"></section>

    <div class="sup">
        <div class="sub"></div>
    </div>
</body>
</html>
2、盒模型布局基本介绍
  • 布局方位:margin-left、margin-right、margin-top、margin-bottom
  • 影响自身布局:margin-left、margin-top
  • 影响兄弟布局:margin-right、margin-bottom
  • 正向 / 反向:正值 / 负值
3、margin布局坑位
  • 很多语义标签具有默认margin
  • 父子标签margin-top重叠取大者
  • 兄弟标签margin-bottom、margin-top重叠取大者

相关文章

  • 前端第三天

    1.首先我想说的是,学习HTML开始的时候是从文开始的。我们从标题开始。我们应该尽量使用h标签。因为我们浏览网页的...

  • 前端第三天

    前端第三天 目录: 盒模型 边界圆角 a_img_list 标签 伪类选择器 盒模型布局 一、盒模型** 1、盒模...

  • 前端-第三天

    浮动 a hello 简单布局

  • 前端第三天

    显示与隐藏 display:none/block溢出

  • 前端第三天知识总结

    兄弟选择器 兄弟元素选择器 /*为span后的一个p元素设置一个背景颜色为...

  • 前端开发学习第三天

    介绍一下前端开发的工具。 因为我自己也是新手,所以查了很多的资料,新手一般情况下都选择Dreamweaver 还有...

  • 让渐变成为滚动的进度条吧

    前端入坑纪 53 日更计划第三天,如题,以前看到过类似的效果。今天便来实践一番... 好,详解如下! OK,fir...

  • 前端学习第三天- margin和浮动

    想让盒子(div)居中 1 让盒子中的内容居中--文本或者行内,行内块元素水平居中: 让盒子本身水平居中,而不是内...

  • 前端学习指南第三天:对象

    对象是一种复合型的值,也可以说是属性的无序集合。javascript对象还可以从一个称为原型(prototype)...

  • 前端文章系列

    【前端】从0.1开始,创建第一个项目 【前端】初识HTML 【前端】HTML标签 【前端】HTML属性 【前端】C...

网友评论

      本文标题:前端第三天

      本文链接:https://www.haomeiwen.com/subject/fwlznftx.html