前端面试笔试复习(5)

1、纯CSS画一个三角形

.div{
	height:0;
	width:0;
	border:100px solid transparent;//其他三部分透明
	border-top-color:red;//上面部分红色
}

在这里插入图片描述
2、不用CSS的border,用其他属性模拟边框

div{
	boder-shadow:0 0 0 5px #ccc,
	0 0 0 10px #FC0,
	0 0 0 5px #F00 inset;
	width:150px;
	heigth:50px;
}

3、HTML5新特性
(1)语义标签
(2)增强型表单
(3)视频和音频
(4)Canvas绘图
(5)SVG绘图
(6)地理定位
(7)拖放API
(8)Web Worker
(9)Web Storage
(10)WebSocket

4、什么是外边距塌陷?

外边距塌陷也称为外边距合并,是指两个在正常流中相邻(兄弟或父子关系)的块级元素的外边距,组合在一起变成单个外边距,不过只有上下外边距才会有塌陷,左右外边距不会出现这种问题。

1.父子元素之间的外边距margin合并问题(外边距塌陷)

<!-- 结构 -->
<div class="box">
    <div class="b1"></div>
</div>
<!-- 样式 -->
.box {
            width: 800px;
            height: 500px;
            background-color: orange;
        }

        .b1 {
            margin-top: 20px;
            width: 200px;
            height: 200px;
            background-color: purple;
        }

我们想要的效果是这样的
在这里插入图片描述
但实际是这样的
在这里插入图片描述
解决方法:

//父元素添加代码段:
            border: 1px solid transparent; /*方法1*/
            float: left; /*方法2*/
            position: absolute; /*方法3*/
            padding: 1px; /*方法4*/
            display: inline-block; /*方法5*/
            overflow: hidden; /*方法6*/
            overflow: auto; /*方法7*/

2.兄弟元素之间的外边距合并问题

<!--结构-->
<div class="box1">
    <div class="b2"></div>
    <div class="b3"></div>
</div>

<!--样式-->

.b2,
.b3 {
    width: 100px;
    height: 100px;
    border: 1px solid #ccc;
}


.b2 {
            background-color: pink;
            margin-bottom: 20px;
        }
        /* b2 margin-bottom 20px; b3 margin-top 30px ;本应该b2 和 b3 间隔50px */
        /* 实际 只有 30px 因为外边距margin发生了合并 */
        .b3 {
            margin-top: 30px;
            background-color: green;
        }

我们想要的效果:粉色 和 绿色间隔为50px’
在这里插入图片描述
但实际是这样的:间隔只有 30px 因为margin发生了合并 合并后就只剩margin值较大的部分
在这里插入图片描述
解决方法:

<!--增加左浮动 或 转换为行内块-->
 float: left; // 1.设置左浮动 解决外边距margin 合并问题呢
 display: inline-block; //2.转换为行内块 解决外边距margin 合并问题

当外边距塌陷时,外边距之间的计算方式是怎样的?
1.两个都是正数,取较大的值
2.两个都是负数,取绝对值较大的值
3.一正一负,取两个值得和在这里插入代码片

5、纯CSS方式让超出容器宽度的文本自动替换为省略号

首先符合容器满足三个条件

p{
	width:100px;				//容器宽度
	white-space:nowrap;			//强制在一行
	overfloat:hidden;			//隐藏溢出
}
.overfloat-ellipsis{
	text-overfloat:ellipsis;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值