(一)display与visibility

这里主要控制元素是否显示

例子

visibility:文字消失空间保留

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.li{
visibility:hidden;
}
</style>
</head>
<body>
<ul>
<li>香蕉</li>
<li class="li">梨子</li>
<li>苹果</li>
<li>芒果</li>
<li>杨桃</li>
</ul>
</body>
</html>

display:文字和空间都消失

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.li{
display: none;
}
</style>
</head>
<body>
<ul>
<li>香蕉</li>
<li class="li">梨子</li>
<li>苹果</li>
<li>芒果</li>
<li>杨桃</li>
</ul>
</body>
</html>

(二)宽度与高度

  • min-width
  • max-width
  • min-height
  • max-height

(三)内容自适用

撑满

  • fill-available:设置宽高撑满当前可用空间,
  • fit-content:宽度撑满

例子

fit-content

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
div{
width: fit-content;
border: solid 1px red;
margin: auto;
}
</style>
</head>
<body>
<div>hello</div>
</body>
</html>

fill-available:填充和其父类一样的高度
例子:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.container{
border: solid 1px red;
margin: auto;
height: 100px;
width: 100px;
}
.main{ background-color: green;
border: solid 1px black;
height: -webkit-fill-available;
}
</style>
</head>
<body>
<div class="container">
<div class="top">Today</div>
<div class="main">hello</div>
</div>
</body>
</html>

等高

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
ul{
height: 100px;
}
ul li{
display: inline-block;
width: 100px;
border: solid 1px red;
height: -webkit-fill-available;
}
</style>
</head>
<body>
<ul>
<li>www</li>
<li>sss</li>
<li>ccc</li>
</ul>
</body>
</html>

(四)浮动布局

float:会脱离文档流
两个最主要使用方式:

  • block元素水平排列
  • 文字与图片环绕排版

例子

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
div {
width: 200px;
height: 200px;
}
div:nth-of-type(1){
float: left;
border: solid 5px red;
}
div:nth-of-type(2){
float: left;
background-color: green;
}
</style>
</head>
<body>
<div>ww</div>
<div>ss</div>
</body>
</html>
  1. 1设置了float,脱离了文档流,文档流中就没有他的位置了,于是2顶替了他的位置
  2. 1,2都设置了float,都脱离了文档流,脱离后的元素没有行的概念,只能跟在行的后面显示
  3. 1取消了float回到文档流中,当然占回了他原本的位置,2还是浮动,只是前面没有元素

左右浮动

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.cc{
width: 500px;
height: 500px;
border: solid 1px #000;
}
.dd{
width: 200px;
height: 200px;
float: left;
border: solid 1px red;
}
.pp{
width: 200px;
height: 200px;
float: right;
background-color: green;
}
</style>
</head>
<body>
<div class="cc">
<div class="dd">ww</div>
<div class="pp">ss</div>
</div>
</body>
</html>

清除浮动

clear:对前后元素无效,只能作用于自身
none:允许两边都有浮动对象
left:不允许左边有浮动
right:不允许右边有浮动
both:左右都不允许有浮动对象

注意:

如果父元素没有宽高,他的宽高被子元素撑开
浮动元素不占文档流

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.cc{
width: 500px;
height: 500px;
border: solid 1px #000;
}
.dd{
width: 200px;
height: 200px;
float: left;
border: solid 1px red;
}
.pp{
width: 200px;
height: 200px;
float: right;
background-color: green;
}
p{
clear:both;
} </style>
</head>
<body>
<div class="cc">
<div class="dd">ww</div>
<div class="pp">ss</div>
<p></p>
</div>
</body>
</html>

或者是overflow:hidden;触发bfc
如何创建BFC
1、float的值不是none。
2、position的值不是static或者relative。
3、display的值是inline-block、table-cell、flex、table-caption或者inline-flex
4、overflow的值不是visible

(五)背景

background-img:url("///");
backgroun-repeat:

  • repeat-x:水平重复
  • repeat-y:垂直重复
  • no-repeat:不重复

background-position:位置

  • center居中
  • 百分比(水平,垂直)
  • 像素

background-attachment: fixed;固定

背景裁切

background-clip:以盒子模型为基础,设置背景显示范围
border-box: 默认值,背景被剪裁到边框盒
padding-box:背景被剪裁到内边距框
content-box:背景被剪裁到内容框

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.dd{
width: 100px;
height: 100px;
border:dashed 5px #000;
margin: 20px;
padding: 20px;
background-color: pink;
background-clip: padding-box;
}
</style>
</head>
<body>
<div class="dd"></div>
</body>
</html>

background-size
像素:第一值为宽,第二为高,如果只有一个就auto
百分比:相对于父元素
cover:是背景完全覆盖
contain:使宽高适用

多图背景

background-image: url(),url();
用逗号分开

渐变

Html5学习内容-4的更多相关文章

  1. HTML5 学习总结(一)——HTML5概要与新增标签

    一.HTML5概要 1.1.为什么需要HTML5 HTML4陈旧不能满足日益发展的互联网需要,特别是移动互联网.为了增强浏览器功能Flash被广泛使用,但安全与稳定堪忧,不适合在移动端使用(耗电.触摸 ...

  2. web前端开发学习内容

    应该 具备的 知识技能 :懂web标准,熟练手写 xhtml css3 并符合 符合w3c标准                       代码能 兼容主流浏览器.ie6.7.8.9 ff 等.    ...

  3. HTML5 学习笔记(一)——HTML5概要与新增标签

    目录 一.HTML5概要 1.1.为什么需要HTML5 1.2.什么是HTML5 1.3.HTML5现状及浏览器支持 1.4.HTML5特性 1.5.HTML5优点与缺点 1.5.1.优点 1.5.2 ...

  4. HTML5 学习笔记--------》HTML5概要与新增标签!

      一.HTML5概要 1.1.为什么需要HTML5 HTML4陈旧不能满足日益发展的互联网需要,特别是移动互联网.为了增强浏览器功能Flash被广泛使用,但安全与稳定堪忧,不适合在移动端使用(耗电. ...

  5. HTML5学习笔记(一):HTML简介

    Web前端涵盖的内容较多且杂,主要由3个部分组成:HTML标记语言.CSS样式语言和JavaScript脚本语言组成,而下面我们将先学习最新的标记语言HTML5. <!DOCTYPE>标记 ...

  6. HTML5学习总结——HTML5入门与新增标签

    一.HTML5概要 1.1.为什么需要HTML5 概念: HTML5 是继 HTML4.01, XHTML 1.0 和 DOM 2 HTML 后的又一个重要版本, 旨在消除富 Internet 程序( ...

  7. [html5] 学习笔记-表单新增的元素与属性(续)

    本节主要讲解表单新增元素的controls属性.placeholder属性.List属性.Autocomplete属性.Pattern属性.SelectionDirection属性.Indetermi ...

  8. HTML5学习之语义化标签(一)

    一.为什么HTML5要引入新语义标签 在HTML5出现之前,我们一般采用DIV+CSS布局我们的页面.但是这样的布局方式不仅使我们的文档结构不够清晰,而且不利于搜索引擎爬虫对我们页面的爬取.为了解决上 ...

  9. HTML5学习指导路线

    HTML5是现在热门的技术,经过8年的艰苦努力,该标准规范终于制定完成,在这里为想要学习HTML5初级程序员详细划分一下学习内容和步骤,让大家清楚的知道HTML5需要学什么?能够快速掌握HTML5开发 ...

  10. HTML5学习笔记(四):H5中表单新增元素及改良

    方便布局 表单内容可以放在表单标签之外,这样做的好处是方便设计时不用考虑一定要将表单元素放在指定的form标签之下,只要指定元素适用于哪个表单即可,如下: <form id="test ...

随机推荐

  1. 2021-11-30 WPF的MVVM绑定

    主页面代码 public partial class MainWindow : Window { MainViewModel mainViewModel = null; public MainWind ...

  2. C/C++八大排序

    排序 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存. 按照难易程度排序,八大排序算法可以从简单到复杂 ...

  3. C# 多线程访问之 SemaphoreSlim(信号量)【进阶篇】

    SemaphoreSlim 是对可同时访问某一共享资源或资源池的线程数加以限制的 Semaphore 的轻量替代,也可在等待时间预计很短的情况下用于在单个进程内等待. 由于 SemaphoreSlim ...

  4. JS中文件相关的知识(一):MIME类型

    不知道有没有同学和我一样,写代码时一遇到文件操作就犯怵,必须要先去把知识补一遍再说:对于Content-Type.responseType.ArrayBuffer.buffer.blob.file等这 ...

  5. Java不能操作内存?Unsafe了解一下

    前言 C++可以动态的分类内存(但是得主动释放内存,避免内存泄漏),而java并不能这样,java的内存分配和垃圾回收统一由JVM管理,是不是java就不能操作内存呢?当然有其他办法可以操作内存,接下 ...

  6. 零代码,使用 Dify 和 Laf 两分钟接入企业微信 AI 机器人

    Dify 允许创建 AI 应用,并提供二次开发的能力.这里我将演示创建一个法律问答助手的 AI 应用,称作"知法".在本篇教程中,我将指导你为"知法"接入企业微 ...

  7. .NET6.0实现IOC容器

    .NET6.0实现IOC容器 IOC的作用这里省略-只对如何使用进行说明. 1. 创建一个.NET6应用程序 这里使用 .NET6.0 WebAPI 应用 2. 声明接口 public interfa ...

  8. 如何创建集成 LSP 支持多语言的 Web 代码编辑器

    对于一个云开发平台来说,一个好的 Web IDE 能很大程度地提高用户的编码体验,而一个 Web IDE 的一个重要组成部分就是代码编辑器. 目前有着多款 web 上的代码编辑器可供选择,比如 Ace ...

  9. 如何正确实现一个自定义Exception(二)

    上一篇<如何正确实现一个自定义 Exception>发布后获得不少 star.有同学表示很担忧,原来自己这么多年一直写错了.其实大家不用过分纠结,如果写的是 .NET CORE 1.0+ ...

  10. 每日一练:无感刷新页面(附可运行的前后端源码,前端vue,后端node)

    1.前言 想象下,你正常在网页上浏览页面.突然弹出一个窗口,告诉你登录失效,跳回了登录页面,让你重新登录.你是不是很恼火.这时候无感刷新的作用就体现出来了. 2.方案 2.1 redis设置过期时间 ...