面试常问的 border实现三角形&使一个矩形水平垂直居中并设定宽高比

实现一个矩形,居中,宽高2:1

复习position:

  • static:默认的布局;即元素在正常文档流的位置。
  • relative:相对定位;不脱离文档流,移动参照点是定位前的位置。
  • absolute:绝对定位;脱离文档流,参照点是最近的非static的祖先元素。
  • fixed:绝对定位;脱离文档流,参照点是屏幕视口。
  • sticky:粘性定位;不脱离文档流,参照点是最近的滚动父元素。

具体效果请查看MDN

.box{
   
            position: absolute;
            top: 0;
            right: 0;
            left: 0;
            bottom: 0;
            margin: auto;<
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用以下CSS代码实现一个水平垂直居中的对话框: HTML代码: ``` &lt;div class=&quot;dialog&quot;&gt; &lt;h2&gt;对话框标题&lt;/h2&gt; &lt;p&gt;对话框内容&lt;/p&gt; &lt;/div&gt; ``` CSS代码: ``` .dialog { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: #fff; padding: 20px; border: 1px solid #ccc; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); } .dialog h2 { margin-top: 0; } .dialog p { margin-bottom: 0; } ``` 解释: - `position: fixed;` 将对话框固定在屏幕上,不随页面滚动而移动。 - `top: 50%;` 和 `left: 50%;` 将对话框的左上角定位在屏幕的中心点。 - `transform: translate(-50%, -50%);` 将对话框向左上方移动自身度和高度的一半,使其完全居中。 - `background-color: #fff;` 设置对话框的背景颜色为白色。 - `padding: 20px;` 设置对话框的内边距为20像素,增加内容与边框的距离。 - `border: 1px solid #ccc;` 设置对话框的边框为1像素的实线边框,颜色为灰色。 - `box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);` 添加一个10像素的阴影效果,使对话框看起来更加立体。 - `margin-top: 0;` 和 `margin-bottom: 0;` 分别将对话框标题和内容的上下外边距设置为0,使其与对话框边框紧密贴合。 ### 回答2: 要实现水平垂直居中的对话框,可以使用 CSS 里的 Flexbox 功能。Flexbox 可以非方便地控制元素的布局和定位,特别适合用于实现居中效果。 下面是一个实现此效果的示例代码: HTML 部分: ``` &lt;div class=&quot;dialog&quot;&gt; &lt;h2&gt;这是一个对话框标题&lt;/h2&gt; &lt;p&gt;这是对话框里的内容。&lt;/p&gt; &lt;button class=&quot;close-btn&quot;&gt;关闭对话框&lt;/button&gt; &lt;/div&gt; ``` CSS 部分: ``` .dialog { position: fixed; /* 基于视口定位 */ top: 0; /* 元素的上边距为 0 */ left: 0; /* 元素的左边距为 0 */ width: 100%; /* 元素占满整个度 */ height: 100%; /* 元素占满整个高度 */ display: flex; /* 使用 Flexbox 排列子元素 */ justify-content: center; /* 在水平方向上居中对齐 */ align-items: center; /* 在垂直方向上居中对齐 */ background-color: rgba(0, 0, 0, 0.5); /* 背景颜色 */ } .dialog h2 { font-size: 24px; margin-bottom: 16px; } .dialog p { font-size: 16px; margin-bottom: 24px; } .close-btn { background-color: #ccc; border: none; padding: 8px 16px; border-radius: 4px; } ``` 首先,在 HTML 中创建一个 div 元素,并添加相应的内容(标题、文本和关闭按钮)。 然后,在 CSS 中将 div 元素设置为 fixed 定位,并将度和高度分别设置为 100%。接着设置 display 属性为 flex,并将 justify-content 和 align-items 属性都设置为 center,分别实现对齐效果。最后,为对话框添加背景色,使其变为半透明。 最后,在需要关闭对话框的情况下,可以在 JavaScript 中使用以下代码来隐藏对话框: ``` const dialog = document.querySelector(&#39;.dialog&#39;); const closeBtn = dialog.querySelector(&#39;.close-btn&#39;); closeBtn.addEventListener(&#39;click&#39;, function() { dialog.style.display = &#39;none&#39;; }); ``` 这样,一个水平垂直居中的对话框就完成了。 ### 回答3: 实现一个水平垂直居中的对话框是前端开发中经需要实现的一个功能。使用CSS将对话框垂直居中需要对方块元素进行绝对定位,然后通过CSS的transform来实现垂直水平居中。 具体实现步骤如下: 1. 创建对话框元素,并设置其position属性值为absolute或fixed,这样可以让它脱离文档流并能够进行绝对定位。 2. 设置对话框的四个边距(top、bottom、left、right),这些距离决定了对话框的位置。 3. 设置对话框的度和高度。 4. 使用CSS的transform属性来实现对话框的水平垂直居中。首先,设置对话框的左右margin为自动,这样就可以让对话框在水平方向上居中。然后,使用CSS3的transform属性来将对话框向上或向下移动一半高度,从而实现垂直居中。具体操作为:将translateY属性的值设置为-50%。 5. 设置对话框的边框样式、颜色及背景色,使其达到美观的效果。 最终代码如下: ```html &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;Horizontal and Vertical Centered Dialog Box&lt;/title&gt; &lt;style&gt; .dialog-box { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 400px; height: 200px; margin: auto; border: 1px solid black; background-color: #eee; } &lt;/style&gt; &lt;/head&gt; &lt;body&gt; &lt;div class=&quot;dialog-box&quot;&gt; &lt;h2&gt;Dialog Box&lt;/h2&gt; &lt;p&gt;This is a horizontal and vertical centered dialog box.&lt;/p&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; ``` 注:该实现方式为使用CSS来实现的简单方法,对于更加复杂的要求,可使用Flexbox或Grid布局等技术实现

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值