html+css3 补充学习

一、html常用标签

1.文本标签

1.1 strong

着重阅读,也可以理解为加粗效果

<p>
        这是一个<strong>测试页面strong>
p>

2.字符实体

2.1 空格

 

2.2 一个中文宽度实体


例子

<h3>用户名h3>
<h3>h3>

二、CSS

1.选择器

标签、类、id选择非常常用,前边的文档写过了,不在记录了

1.1 后代选择器

子标签 子子标签 子子子标签都是后代选择器

ul li {
	color:red
}

1.2 子代选择器

子代选择器只选择 下边1层

ul > li {
    color:red
}

更多写法

.box > li {}
.box > li > li {}
#box > li {}
p.box > li {} #是p标签并且类选择是box的子代是li的

1.3 兄弟选择器

相邻兄弟选择器

当前元素div下边的相邻的 p元素。只是下边1个。 上边的不包括

div + p {}
通用兄弟选择器

~ 代表下边的所有

div ~ * {}  div下边的所有标签
div ~ p {}  div下边的所有p标签

1.4 属性选择器

DOCTYPE html>
<html lang="en">
<head>
    <style>
        /* 属性选择器 */
        [title] {color: gold}
        [href] { color:red}
    style>
head>
<body>
    <p>
      <div title="哈哈哈">你好div>
      <a href="www.baidu.com">百度一下a>
    p>
body>
html>

2.文本属性

2.1 水平居中

text-align :center 文本水平居中

div {
 background-color: green;
 text-align: center;
}

2 2 垂直居中

如果要垂直居中 让div height=line-height

div {
            width: 100px;
            height: 100px;
            text-align: center;
            line-height: 100px;
    		background-color: green;
}

3.列表属性

取消列表的默认前边序号

ul,ol {
    list-style-type:none;
}

4.鼠标样式

div {
  width: 100px;
  height: 100px;
  background-color: green;
  /* 鼠标移动到盒子的时候会变成小手 */
   cursor: pointer;
}

5.元素的显示模式

display属性
dispaly: none 还可以隐藏元素

  div {
            width: 100px;
            height: 100px;
            background-color: red;
            /* 块元素变成 行内块元素 */
            display: inline-block;
  }

6.元素之间的空白

元素之间的空白缝隙会出现在 行内元素和 行内块元素之间 ,块元素不会出现。

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <style>
        .d1 {
            background-color: red;
        }
        .d2 {
            background-color: green;
        }
        .d3 {
            background-color: yellow;
        }
        
        
    style>
head>
<body>
    
    <span class="d1">新闻span><span class="d2">运动span><span class="d3">音乐span>
    
     
    <span class="d1">新闻span>
    <span class="d2">运动span>
    <span class="d3">音乐span>
 body>
html>

解决办法:
在html中 空格也是一个字符,利用front-sze:0 所有的文字都会消失的特性,在父标签中 将所有字体设置为0,这时候空格也就没有了,在将要显示的文字设置指定的大小,这样就可以去除空格了。

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <style>
        .box {
            font-size: 0;
        }
        .box span {
            font-size: 16px;
        }

        .d1 {
            background-color: red;
        }
        .d2 {
            background-color: green;
        }
        .d3 {
            background-color: yellow;
        }
        
        
    style>
head>
<body>
    
    <div class="box">
        <span class="d1">新闻span>
        <span class="d2">运动span>
        <span class="d3">音乐span>
    div>
    
 body>
html>

行内块元素之间的缝隙

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <style>
        body {
            margin: 0px;
            margin: 0px;
        }
        .box {
            font-size: 0;
            list-style-type: none;
            padding: 0px;
            
        }
        .box li {
            font-size: 16px;
            display: inline-block;
        }

        .d1 {
            background-color: red;
        }
        .d2 {
            background-color: green;
        }
        .d3 {
            background-color: yellow;
        }
        
        
    style>
head>
<body>
    
    <ul class="box">
        <li class="d1">地图li>
        <li class="d2">新闻li>
        <li class="d3">运行li>
    ul>
    
 body>
html>

三、CSS3

1.新增盒子大小属性

box-sizing: 它有两个值
	content-box 默认属性 会随着边框、内边距的增加整体盒子会变大
	border-box 盒子定义的多大就是多大,不会因为边框 内边距的增加而盒子变大。
	

2.新增盒子边框属性

border-radius 显示圆角效果

.box {
            width: 200px;
            height: 200px;
            padding: 5px;
            border: 5px green solid;
            border-radius: 50px;
        }

3.伸缩盒模型Flex

3.1 基本概念

display: flex
父标签称为: 伸缩容器
子标签称为: 伸缩项目
一个标签一旦称为伸缩项目 不论它是行级元素还是块元素 全部会变成块元素,也就是说可以使用宽高属性。

3.2 伸缩模型实例

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <style>
        .box {
            width: 600px;
            height: 600px;
            background-color: skyblue;
            /* 父标签变成了伸缩容器 */
            display: flex;
        }
        /*行级元素 span 变成了伸缩项目 就可以使用宽高了*/
        span {
            height: 100px;
            width: 100px;
            background-color: red;
            border: 1px black solid;
        }

	
    style>
head>
<body>
    <div class="box">
        <span>1span>
        <span>2span>
        <span>3span>
    div>
 body>
html>

4.伸缩盒模型-主轴换行

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <style>
        .box {
            width: 600px;
            height: 600px;
            background-color: skyblue;
            display: flex;
            /*主轴换行,当伸缩项目的个数超出伸缩容器一行内容容纳的个数时,自动换行,而不是压缩伸缩项目的盒子大小*/
            flex-wrap: wrap;
        }
        
        span {
            height: 200px;
            width: 200px;
            background-color: red;
            border: 1px black solid;
            box-sizing: border-box;
        }


    style>
head>
<body>
    <div class="box">
        <span>1span>
        <span>2span>
        <span>3span>
        <span>1span>
        <span>2span>
        <span>3span>
    div>
 body>
html>

5.伸缩盒模型-主轴对齐方式

justify-content:
	space-around  伸缩项目均匀的分布在一行,项目之间的距离是边缘距离的两倍
	space-between: 伸缩项目边缘没有距离,项目之间的距离是相等的. 这种用的比较多
	space-evenly: 伸缩项目完全均匀的分布在一行

6.伸缩和模型的水平垂直居中

方案1:

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <style>
        .box {
            width: 600px;
            height: 600px;
            background-color: skyblue;
            display: flex;
            /*水平居中*/
            justify-content: center;
             /*垂直居中*/
            align-items: center;
        }
        
        span {
            height: 100px;
            width: 100px;
            background-color: red;
        }
    style>
head>
<body>
    <div class="box">
        <span>1span>    
    div>    
 body>
html>

方案2 比较简单

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <style>
        .box {
            width: 600px;
            height: 600px;
            background-color: skyblue;
            display: flex;
        }
        
        span {
            height: 100px;
            width: 100px;
            background-color: red;
            /*伸缩项目 margin自动,也可以居中*/
            margin: auto;
        }


    style>
head>
<body>
    <div class="box">
        <span>1span>    
        <span>1span>  
        <span>1span>   
    div>
 body>
html>

7.2D位移 tranform

这里实现了一个盒子在屏幕中间居中的效果。
tranform在做位移时,如果使用百分比位移,这个百分比是自己宽度的百分比

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <style>
        .outer {
            width: 500px;
            height: 300px;
            background-color: #ddd;
            border-radius: 5px;
            position: absolute;
            left: 50%;
            top: 50%;
            /*基于绝对定位后的位置 在x轴上向左50%,在y轴上向上50%*/
            transform: translate(-50%,-50%);
        }

    style>
head>
<body>
    <div class="outer">

    div>
 body>
html>

你可能感兴趣的:(前端,html,css3,学习)