Html5学习内容-4
(一)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设置了float,脱离了文档流,文档流中就没有他的位置了,于是2顶替了他的位置
- 1,2都设置了float,都脱离了文档流,脱离后的元素没有行的概念,只能跟在行的后面显示
- 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的更多相关文章
- HTML5 学习总结(一)——HTML5概要与新增标签
一.HTML5概要 1.1.为什么需要HTML5 HTML4陈旧不能满足日益发展的互联网需要,特别是移动互联网.为了增强浏览器功能Flash被广泛使用,但安全与稳定堪忧,不适合在移动端使用(耗电.触摸 ...
- web前端开发学习内容
应该 具备的 知识技能 :懂web标准,熟练手写 xhtml css3 并符合 符合w3c标准 代码能 兼容主流浏览器.ie6.7.8.9 ff 等. ...
- HTML5 学习笔记(一)——HTML5概要与新增标签
目录 一.HTML5概要 1.1.为什么需要HTML5 1.2.什么是HTML5 1.3.HTML5现状及浏览器支持 1.4.HTML5特性 1.5.HTML5优点与缺点 1.5.1.优点 1.5.2 ...
- HTML5 学习笔记--------》HTML5概要与新增标签!
一.HTML5概要 1.1.为什么需要HTML5 HTML4陈旧不能满足日益发展的互联网需要,特别是移动互联网.为了增强浏览器功能Flash被广泛使用,但安全与稳定堪忧,不适合在移动端使用(耗电. ...
- HTML5学习笔记(一):HTML简介
Web前端涵盖的内容较多且杂,主要由3个部分组成:HTML标记语言.CSS样式语言和JavaScript脚本语言组成,而下面我们将先学习最新的标记语言HTML5. <!DOCTYPE>标记 ...
- HTML5学习总结——HTML5入门与新增标签
一.HTML5概要 1.1.为什么需要HTML5 概念: HTML5 是继 HTML4.01, XHTML 1.0 和 DOM 2 HTML 后的又一个重要版本, 旨在消除富 Internet 程序( ...
- [html5] 学习笔记-表单新增的元素与属性(续)
本节主要讲解表单新增元素的controls属性.placeholder属性.List属性.Autocomplete属性.Pattern属性.SelectionDirection属性.Indetermi ...
- HTML5学习之语义化标签(一)
一.为什么HTML5要引入新语义标签 在HTML5出现之前,我们一般采用DIV+CSS布局我们的页面.但是这样的布局方式不仅使我们的文档结构不够清晰,而且不利于搜索引擎爬虫对我们页面的爬取.为了解决上 ...
- HTML5学习指导路线
HTML5是现在热门的技术,经过8年的艰苦努力,该标准规范终于制定完成,在这里为想要学习HTML5初级程序员详细划分一下学习内容和步骤,让大家清楚的知道HTML5需要学什么?能够快速掌握HTML5开发 ...
- HTML5学习笔记(四):H5中表单新增元素及改良
方便布局 表单内容可以放在表单标签之外,这样做的好处是方便设计时不用考虑一定要将表单元素放在指定的form标签之下,只要指定元素适用于哪个表单即可,如下: <form id="test ...
随机推荐
- maven项目创建后添加resources等文件夹
maven项目初始化只生成src/main/resources目录,但是这个不够用,我们得创建 src/main/java目录 src/test/java目录 src/test/resources目录 ...
- Centos7通过yum源安装Mysql
1.下载并安装MySQL官方的Yum Repository 在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉M ...
- 面试再也不怕问ThreadLocal了
要解决多线程并发问题,常见的手段无非就几种.加锁,如使用synchronized,ReentrantLock,加锁可以限制资源只能被一个线程访问:CAS机制,如AtomicInterger,Atomi ...
- 为react项目添加开发/提交规范(前端工程化、eslint、prettier、husky、commitlint、stylelint)
因历史遗留原因,接手的项目没有代码提醒/格式化,包括 eslint.pretttier,也没有 commit 提交校验,如 husky.commitlint.stylelint,与其期待自己或者同事的 ...
- 【解惑】介绍三大数据库的with语句的写法及使用场景
WITH 子句通常被称为 "Common Table Expressions"(CTE),俗称内存临时表,当使用 WITH 语句时,应注意具体的数据库版本和支持情况.以下是对 My ...
- 操作系统实验——利用Linux的消息队列通信机制实现两个线程间的通信
目录 一. 题目描述 二.实验思路 三.代码及实验结果 四.遇到问题及解决方法 五.参考文献 一. 题目描述 编写程序创建三个线程:sender1线程.sender2线程和receive线程,三个线程 ...
- 一文读懂LockSupport
阅读本文前,需要储备的知识点如下,点击链接直接跳转. java线程详解 Java不能操作内存?Unsafe了解一下 LockSupport介绍 搞java开发的基本都知道J.U.C并发包(即java. ...
- 《HelloGitHub》第 89 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...
- 百亿补贴通用H5导航栏方案
背景 在移动端页面中,由于屏幕空间有限,导航条扮演着非常重要的角色,提供了快速导航到不同页面或功能的方式.用户也通常会在导航条中寻找他们感兴趣的内容,因此导航条的曝光率较高.在这样的背景下,提供一个动 ...
- [译]这几个CSS小技巧,你知道吗?
前言 在网页设计和前端开发中,CSS属性是非常重要的一部分.掌握常用的CSS属性不仅可以使你的网页看起来更美观,还能提升用户体验,今天小编为大家介绍8个常见的CSS小技巧: 1.修改滚动条样式 下图是 ...