web前端学习5

一、overflow溢出隐藏

overflow
visible : 默认
hidden
scroll
auto
x轴、y轴
overflow-x、over-flow-y针对两个轴分别设置

<style>
        /* div{ width: 300px;height: 200px; border: 1px black solid; overflow: hidden;} */
        /* div{ width: 300px; height: 200px;border: 1px black solid;overflow: scroll;}/* 通过滚动条来解决溢出问题 */
        /* div{ width: 300px; height: 200px;border: 1px black solid;overflow: auto;}自动识别通过滚动条来解决溢出问题 */
        div{ width: 300px; height: 200px;border: 1px black solid;overflow-y: auto;overflow-x: scroll;}
    </style>
</head>
<body>
    <div>
        溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏
        溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏
        溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏
        溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏
        溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏
        溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏
        溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏
        溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏
        溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏
        溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏
        溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏
        溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏
        溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏
        溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏 溢出隐藏
    </div>
</body>

效果:
在这里插入图片描述

二、透明度与鼠标手势

1.opacity : 0(透明,占空间) ~ 1(不透明)
0.5(半透明)
注: 占空间、所有的自内容也会透明
2.rgba( ): 0 ~ 1
注: 可以让指定的样式透明,而不影响其他样式
3.cursor : 手势
default: 默认箭头
要实现自定义手势:
准备图片: .cur、.ico

<style>
        #div1{ width: 100px;height: 100px;background-color: aqua;opacity: 0.5;}/* backgrou透明度 */
        #div2{ width: 100px;height: 100px;background-color:  rgba(255,0,0,0.5);
        cursor: pointer;/* 鼠标手势 */
        cursor: url(./img/cursor.ico);/* 自定义鼠标样式S */
        }
    </style>
</head>
<body>
    <div id="div1">明天早八且满课</div>
    <p>这是一个段落</p>
    <div id="div2">早八晚五谁懂</div>
</body>

效果:
在这里插入图片描述

三、最大最小宽高

min-width、max-width
min-height、max-height
注 : 强化对百分比单位的理解
%单位: 换算 -> 以父容器的大小进行换算
一个容器怎么适应屏幕的高: 容器加height: 100%;body: 100%;html: 100%;
html,body{ height:100%;}
.contrainer{ height: 100%;}

<style>
        div{ width: 200px;min-height: 200px; border:1px red solid;}/*文字自动适应方框 */
        #box1{ width: 200px;height: 200px;background-color: aqua solid;}
        #box2{ width: 200px; height: 200px ;background-color: blue solid;}
    </style>
</head>
<body>
    <div>
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
        早八且满课啊
    </div>

在这里插入图片描述

四、css默认样式

有些标签有默认样式,有些标签没有默认样式。
没有默认样式:
div、span、···
有默认样式:
body、h1···h6、p、ul、···
body -> marign : 8px
h1 -> margin : 上下 21.440px
font-weight : bold
p -> margin : 上下 16px
ul -> margin : 上下 16px
padding: 左 40px
默认点: list-style : disc
a -> text-decoration: underline;

五、css重置样式

简单的CSS reset

*{ margin: 0; padding: 0;}
优点:
缺点:稍微的影响性能
ul{ list-style: none;}
a{ text-decoration: none; color: #666;}
img{ display: block;}
问题的现象: 图片跟容器底部有一些空隙。
内联元素的对齐方式是按照文字基线对齐的,而不是文字底线对齐的。
vertical-align: baseline; 基线对齐方式,默认值
vertical-align: bottom; 解决方式是推荐的
写具体页面的时候或一个布局效果的时候:
1.写结构
2.css重置样式
3.写具体样式

<head>
    <style>
        div{ border: 1px black solid;}
        img{ display: block;}/*解决图片与容器底部的间隙*/
    </style>
</head>
<body>
    <div>
        <img src="./img/2.jpg" alt="">
    </div>

效果:
在这里插入图片描述

六、PS工具在web的应用

1、photoshop使用
组成:
菜单项
工具栏
辅助面板
图片引用格式
jpd、png、gif
快捷键:
ctrl +r :显示隐藏标尺(在标尺上可以拖拽参考线)
2、png等图片切图流程
矩形选框选取区域
ctrl + c 复制图层
ctrl + n 新建图层
ctrl + v 粘贴图层
微调:alt 减少区域 shift 增加区域 上下左右键进行微调
利用参考线记录量取的位置,以便以后测量其他的值
最后:存储为web格式
3、利用PS切片测量页边居和容器距离

<style>
        *{ margin: 0;padding: 0;}
        ul{ list-style: none;}
        img{ display: block;}
        a{ text-decoration: none;color: #666666;}
        h1,h2,h3,h4,h5,h6{ font-size: 16px; font-weight: normal;}
        #main{ margin: 20px auto; width: 238px;border: 1px solid #d9e0ee;border-top: 3px #ff8400 solid;}
        #main h2{height: 35px;border-bottom: 1px solid #d9e0ee;line-height: 35px; padding-left: 11px;}
        #main h2 a{color: black;}
        #main h2 a:hover{ color: #ff8400;}
        #main div img{ margin: 8px auto 3px auto;}
        #main ul{ font-size: 12px;line-height: 24px;margin-bottom: 8px;}
        #main ul li{ padding-left: 18px;}
        #main ul li.first-line{ border-bottom: 1px solid #d9e0ee;padding-bottom: 3px;margin-bottom: 8px;}
        #main ul a{}
        #main ul a:hover{ color: #ff8400; text-decoration: underline;   }
    </style>
</head>
<body>
    <div id="main">
        <h2>
            <a href="#">旅游</a>
            <div>
                <a href="#">
                    <img src="./img.gif" alt="">
                    <a href="#">详细>></a>
                </a>
            </div>
            <ul>
                <li>
                    <a href="#">触摸运河文脉,跟上这阵“小香风”</a>
                </li>
                <li>
                    <a href="#">听涛观海忆洪帆,品鲜问渔游巴斗</a>
                </li>
                <li>
                    <a href="#">第三届大运河文旅博览会精彩开幕</a>
                </li>
                <li>
                    <a href="#">多样展演,邀你约姑苏共话运河情</a>
                </li>
            </ul>
        </h2>
    </div>
</body>

效果:
在这里插入图片描述
4、企业中切图流程
利用工具快速获取样式
蓝湖:https://lanhuapp.com

七、float浮动概念及原理

文档流:
文档流是文档中可显示对象在排列时占用的位置
float特性:
加浮动的元素,会脱离文档流,会延迟容器靠左或靠右排列,
float的取值:
left
right
none(默认)

<style>
        body{ border: 1px black solid;}
        #box1{ width: 100px; height: 100px; background: yellow; float: left;}
        #box2{ width: 200px; height: 200px; background: red; float: left;}
    </style>
</head>
<body>
    <div id="box1"></div>
    <div id="box2"></div>
</body>

效果:
在这里插入图片描述
如果之前已经有浮动的元素,会挨着浮动的元素进行排列
效果:
在这里插入图片描述

八、float注意点整理

float注意点:
1.只会影响后面的元素
2.内容默认提升半层
3.默认宽根据内容决定
4.换行排列
5.主要给块元素添加,但也可以给内联元素添加

<style>
        body{ border: 1px black solid;} 
        #box1{ width: 100px;height: 100px;background: yellow;;}
        #box2{ width: 200px;height: 200px;background: red;float: left;}
        #box3{ width: 300px; height: 300px; background :blue;}
        #box4{ background : green; float: left;}
    </style>
</head>
<body>
    <div id="box1"></div>
    <div id="box2"></div>
    <div id="box3">呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜上网课了!呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜</div>
    <div id="box4">不想上网课!</div>
</body>

在这里插入图片描述

<style>
        body{ border: 1px black solid;} 
        ul{ margin: 0;padding: 0;list-style: none;width:300px;height: 300px;border: 1px black solid;}
        li{ width: 100px;height: 100px;background: red;border: 1px yellow solid;box-sizing: border-box;float: left;}
        li:nth-of-type(1){ height: 120px;}
        li:nth-of-type(2){ height: 80px;}
    </style>
</head>
<body>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
    </ul>
</body>
<html>

在这里插入图片描述

九、清除float浮动

利用clear属性清除float浮动
(clear属性只会操作块标签,对内联标签不起作用)
嵌套排列:
1.固定宽高 : 不推荐,不能把高度固定死,不适合做自适应的效果。
2.父元素浮动: 不推荐,因为父容器浮动也会影响到后面的元素。
3.overfloat : hidden(BFC规范),如果有子元素想溢出,那么会受到影响。
4.display : inline-block(BFC规范),不推荐,父容器会影响到后面的元素。
5.设置空标签: 不推荐,会多添加一个标签。
6.after伪类: 推荐,是空标签的加强版,目前各大公司的做法。
上下排列: clear属性,表示清除浮动的,left、right、both

<style>
        /* #box1{ width: 100px; height: 100px; background: red; float: left;}
        #box2{ width: 200px; height: 200px; background: blue; clear: left;} */
        /* #box1{ width: 100px; height: 100px; background: red; float: right;}
        #box2{ width: 200px; height: 200px; background: blue; clear: both;} */
        /* #box1{ width: 200px; height: 200px; border: 1px black solid;}
        #box2{ width: 100px; height: 200px; background: red; float: left;} */
        /* #box1{ width: 200px; border: 1px black solid; float: left;}
        #box2{ width: 100px; height: 200px; background: red; float: left;} */
        /* #box1{ width: 200px; border: 1px black solid; overflow: hidden;}
        #box2{ width: 100px; height: 200px; background: red; float: left;}*/
        /* #box1{ width: 200px; border: 1px black solid; display: inline-block;}
        #box2{ width: 100px; height: 200px; background: red; float: left;} */
        /* #box1{ width: 200px; border: 1px black solid;}
        #box2{ width: 100px; height: 200px; background: red; float: left;}
        .clear{ clear: both;} */
        #box1{ width: 200px; border: 1px black solid;}
        #box2{ width: 100px; height: 200px; background: red; float: left;}
        .clear:after{ content: ''; clear: both; display: block;}
    </style>
</head>
<body>
    <!-- <div id="box1"></div>
    <div id="box2"></div> -->
    <!-- <div id="box1">
        <div id="box2"></div>
        <div class="clear"></div>
    </div>
    aaaaaaa -->
    <div id="box1" class="clear">
        <div id="box2"></div>
        </div>
    bbbbbbb
</body>

十、float制作页面小结构

 <style>
        *{ margin: 0; padding: 0;}
        ul{ list-style: none;}
        img{ display: block;}
        a{ text-decoration: none; color: #666;}
        h1,h2,h3{ font-size: 16px;}
        .l{ float: left;}   
        .r{ float: right;}
        .clear:after{ content: ""; display: block; clear: both;}
        #main{ width: 366px; margin: 20px auto;}
        #main.title{ height: 23px; line-height: 23px; font-size: 12px; font-weight: bold; padding-left: 30px;
            background:url(./img2/bg_title.png) no-repeat 6px 4px , url(./img2/bg_line.png) repeat-x;}
        #main ul{ overflow: hidden; margin-top: 13px;}
        #main li{ margin-bottom: 22px;}
        #main .pc{ width: 99px; border: 1px solid #c8c4d3; margin-left: 5px;}
        #main .pc img{ margin: 2px;}
        #main .content{ width: 240px; margin-left: 13px;}
        #main .content h2{ font-size: 12px; line-height: 24px;}
        #main .content p{ font-size: 12px; line-height: 20px;}
    </style>
</head>
<body>
    <div id="main">
        <h2>外媒评论精选</h2>
        <ul>
            <li class="clear">
                <div class="l pic">
                    <a href="#">
                        <img src="img.gif" alt="">
                    </a>
                </div>
                <div class="l content">
                    <h2>测试标题测试标题</h2>
                    <p>
                        测试段落测试段落测试段落测试段落测试段落测试段落测试段落····
                        <a href="#">[详细]</a>
                    </p>
                </div>
            </li>
            <li class="clear">
                <div class="l pic">
                    <a href="#">
                        <img src="img.gif" alt="">
                    </a>
                </div>
                <div class="l content">
                    <h2>测试标题测试标题</h2>
                    <p>
                        测试段落测试段落测试段落测试段落测试段落测试段落测试段落····
                        <a href="#">[详细]</a>
                    </p>
                </div>
            </li>
            <li class="clear">
                <div class="l pic">
                    <a href="#">
                        <img src="img.gif" alt="">
                    </a>
                </div>
                <div class="l content">
                    <h2>测试标题测试标题</h2>
                    <p>
                        测试段落测试段落测试段落测试段落测试段落测试段落测试段落····
                        <a href="#">[详细]</a>
                    </p>
                </div>
            </li>
        </ul>
    </div>
</body>

效果:
在这里插入图片描述

十一、relative相对定位

position定位
1.position特性
css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则决定了该元素的最终位置。
2.position取值
static(默认)
relative
absolute
fixed
sticky
relative相对定位
1.如果没有定位偏移量,对元素本身没有任何影响
2.不使元素脱离文档流
3.不影响其他元素布局
4.left、top、right、bottom是相对于当前元素自身进行的偏移的

<style>
        /* #box1{width: 100px; height: 100px; background: red;}
        #box2{width: 100px; height: 100px; background: blue; margin-left: 100px; margin-top: 100px;}
        #box3{width: 100px; height: 100px; background: yellow; margin-top: -100px;} */

        #box1{width: 100px; height: 100px; background: red;}
        #box2{width: 100px; height: 100px; background: blue; position: relative; left: 100px; top: 100px;}
        #box3{width: 100px; height: 100px; background: yellow;}
    </style>
</head>
<body>
    <div id="box1"></div>
    <div id="box2"></div>
    <div id="box3"></div>
</body>

十二、absolute绝对定位

absolute绝对定位
1.使元素完全脱离文档流
2.使内联元素支持宽高(让内联具备块特性)
3.使块元素默认宽根据内容决定(让块具备内联的特性)
4.如果有定位祖先元素相对于定位祖先元素发生偏移,没有定位祖先元素相对于整个文档发生偏移(绝对、相对、固定)

<style>
        /* #box1{ width: 100px; height: 100px; background: red; position: absolute;}
        #box2{ width: 200px; height: 200px; background: blue;} */
        /* span{ width: 100px; height: 100px; background: red; position: absolute;} 
        div{ background: red; position: absolute; left: 100px; top: 100px;} */
        #box1{ width: 300px; height: 300px; border: 1px black solid; margin: 200px; position: relative;}
        #box2{ width: 100px; height: 100px; background: red; position: absolute; right: 0; bottom: 0;}
    </style> 
</head>
<body>
    <!-- <div id="box1"></div>
    <div id="box2"></div> -->

    <!-- <span>这是一个内联的</span> -->
    <!-- <div>这是一个块</div> -->
    <div id="box1">
        <div id="box2"></div>
   </div>
</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值