慕课网 Web 1元体验课(下)

简介: 块级元素: 会单独占一行, 例如<h1>~<h6>内联元素: 又称行内元素, 多个内联元素占一行, 例如<a>标签行内块级元素: 行内块级元素显示会与其他相邻元素出现在同一行, 并且两个相邻元素之间存在空白空间. 例如<Button>标签css 的display 属性

块级元素: 会单独占一行, 例如<h1>~<h6>


内联元素:  又称行内元素,  多个内联元素占一行, 例如<a>标签


行内块级元素: 行内块级元素显示会与其他相邻元素出现在同一行, 并且两个相邻元素之间存在空白空间. 例如<Button>标签


css 的display 属性



block 块级元素


inline 内联元素


inline-block 块级内联元素


背景图片



background-image: url("abc.png") 默认会铺满


定义图片的排列方式


background-repeat: no-repeat / repeat / repeat-x / repeat-y


初始位置


background-position: center


background-size: 像素值/ 100% 表示充满


案例: 社交账号注册按钮效果



image.png


展示效果


行内块级元素对齐方式的一个做法是外层套一个div, 然后设置text-align: center;即可.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>行内块级元素对齐方式</title>
    <style>
        div {
            margin: 0 auto;
            text-align: center;
        }
        a {
            display: inline-block;
            /* 设置为行内块级元素 */
            /* 行内块级元素允许设置宽度和高度 */
            width: 161px;
            height: 40px;
            background-repeat: no-repeat;
            background-size: 100%;
        }
        .btn1 {
            background-image: url("imgs/btn1.png");
        }
        .btn2 {
            background-image: url("imgs/btn2.png");
        }
        .btn3 {
            background-image: url("imgs/btn3.png");
        }
        .btn4 {
            background-image: url("imgs/btn4.png");
        }
    </style>
</head>
<body>
    <div>
        <a class="btn1" href="#"></a>
        <a class="btn2" href="#"></a>
        <a class="btn3" href="#"></a>
        <a class="btn4" href="#"></a>
    </div>
</body>
</html>


定位



positon: relative, absolute,


定位中的偏移量


left, top, right, bottom


fixed 固定定位


相对于浏览器窗口定位


absolute 绝对定位


相对于父元素


relative相对定位


相对于原来的标签


其他的一些选择器



伪类选择器


h1: hover {color: red}


层级选择器



image.png


案例: 二维码动态效果




<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>二维码的动态效果</title>
    <style>
    body {
        margin: 0px;
    }
    #box {
        width: 100%;
        height: 100px;
        background-color: black;
        position: fixed;
        bottom: 0px;
    }
    #wechat {
        width: 44px;
        height: 44px;
        background-image: url("imgs/wechat.png");
        background-repeat: no-repeat;
        background-size: 100%;
        margin: 28px auto;
        position: relative;
    }
    #code {
        display: none;
        width: 180px;
        height: 180px;
        background-color: white;
        background-image: url("imgs/code_wps.jpg");
        background-repeat: no-repeat;
        background-size: 100%;
        filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='male.png', sizingMethod='scale');
        position: absolute;
        left: -66px;
        bottom: 70px;
    }
    #wechat:hover {
        background-image: url("imgs/wechatH.png");
    }
    #wechat:hover>#code {
        display: block;
    }
    </style>
</head>
<body>
    <!-- 用于包含二维码所有的内容,显示在页面中的底部 -->
    <div id="box">
        <!-- 用于显示微信图标 -->
        <div id="wechat">
            <!-- 用于显示/隐藏二维码图片 -->
            <div id="code"></div>
        </div>
    </div>
</body>
</html>


底部的黑条用的是


固定定位, 然后宽度100%, 高度100像素, 距离底部0像素

#box {
        width: 100%;
        height: 100px;
        background-color: black;
        position: fixed;
        bottom: 0px;
    }


微信图标居中显示


采用相对定位.


margin: 28px auto; 表示上下各间隔(100-44) /2  = 28像素, 左右则是auto间隔.

然后鼠标放上去的效果则是 #wechat:hover { background-image: url("imgs/wechatH.png"); }


#wechat {
        width: 44px;
        height: 44px;
        background-image: url("imgs/wechat.png");
        background-repeat: no-repeat;
        background-size: 100%;
        margin: 28px auto;
        position: relative;
    }


然后是二维码的展示


采用绝对定位, 相对于父容器.


bottom为70像素. 44 + 28 = 72更为合理些, 给我的感觉是距离父容器底部坐标的距离

left 为-66px.  大概是(180-44) / 2 = 68 的样子, 给我的感觉是距离父容器左边的距离.

默认display: node, 但是方式去就是指定的block的效果





目录
相关文章
|
Web App开发 JavaScript 前端开发
Sea.js:简单、极致的模块化Web开发体验
Sea.js 是一款现代的用于Web开发的模块加载工具,提供简单、极致的模块化体验。Sea.js 由阿里、腾讯等公司共同维护。
772 0
Sea.js:简单、极致的模块化Web开发体验
|
存储 网络协议 数据管理
【实战体验】一步一步搭建容器弹性 Web 与内容管理系统|学习笔记
快速学习【实战体验】一步一步搭建容器弹性 Web 与内容管理系统
【实战体验】一步一步搭建容器弹性 Web 与内容管理系统|学习笔记
|
开发框架 IDE Java
体验 Scala 语言的 Play Web 框架
体验 Scala 语言的 Play Web 框架
体验 Scala 语言的 Play Web 框架
|
弹性计算 Java 关系型数据库
阿里云体验实验室-3:搭建Java Web开发环境
阿里云体验实验室-3:搭建Java Web开发环境
141 0
|
前端开发
慕课网 Web 1元体验课(上)
css入门 1. 内联样式 <h1 style="color: red;">啦啦啦啦</h1> 3. 内嵌样式表 <style> h1{color: red;} </style> 3. 外联样式表 <link rel="stylesheet" href="css/style.css" /> css 的五种选择器 1. 元素(标签)选择器 p{xxx} 2. 类选择器 .myDiv{xxx} 3. id选择器 #myId{xxx} 4. 属性选择器 [name="haha"] {} 5. 通配符选择器 *{} CSS 常用属性 前景色color: red 背景色backgroun
147 0
慕课网 Web 1元体验课(上)
|
Web App开发 前端开发 Android开发
超详细,Flutter2.0构建Web应用的实际体验|技术点评
接触Flutter开发的时间并不长,最早关注到Flutter,就是听说它可以跨端开发iOS,Android,Web端。直到上周看了Flutter2.0的发布,才知道,原来跨web端才刚刚stable呀... 那我们来真实的体验一下,Flutter发布web应用究竟靠不靠谱?
329 0
超详细,Flutter2.0构建Web应用的实际体验|技术点评
|
Linux 应用服务中间件 测试技术
上手体验!如何借助龙蜥实验室快速部署 Web 应用?
上手体验!如何借助龙蜥实验室快速部署 Web 应用?龙蜥实验室试用案例体验分享。
上手体验!如何借助龙蜥实验室快速部署 Web 应用?
|
Java 物联网 Windows
web初学者的云服务器体验
萌新初次接触服务器,因为阿里云的操作便携,增强了实操能力。
|
弹性计算 Java 关系型数据库
|
1月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
101 3