CSS

css样式设置小技巧

字号+ 编辑: Snake 修订: IT男在阿里 来源: 慕课网 2023-09-07 我要说两句(0)

为了使网页更美观,我们经常会用CSS样式来设置,今天来介绍一下css样式设置小技巧……

15-1 水平居中设置-行内元素

设置水平居中的场景,比如为了美观,文章的标题一般都是水平居中显示的。

分两种情况:行内元素还是块状元素,块状元素里面又分为定宽块状元素,以及不定宽块状元素。

如果被设置元素为文本、图片等行内元素时,水平居中是通过给父元素设置text-align:center 来实现的。(父元素和子元素:如下面的html代码中,div是“我想要在父容器中水平居中显示”这个文本的父元素。反之这个文本是div的子元素 )

html代码:

<body>
  <div>我想要在父容器中水平居中显示。</div>
</body>

css代码:

<style>
  .txtCenter{
    text-align:center;
  }
</style>

15-2 定宽块状元素

当被设置元素为块状元素时用text-align:center 不起作用,这时也分两种情况:定宽块状元素和不定宽块状元素。

定宽块状元素:块状元素的宽度width为固定值。

满足定宽和块状两个条件的元素是可以通过设置“左右margin”值为“auto”来实现居中的。

设置 div 这个块状元素水平居中:

html代码:

<body>
  <div>我是定宽块状元素,哈哈,我要水平居中显示。</div>
</body>

css代码:

<style>
div{
  border:1px solid red;/*为了显示居中效果明显为 div 设置了边框*/
  width:200px;/*定宽*/
  margin:20px auto;/* margin-left 与 margin-right 设置为 auto */
}
</style>

也可以写成:

margin-left:auto;
margin-right:auto;

注意:元素的“上下 margin” 是可以随意设置的。

15-3 面试常考题之已知宽高实现盒子水平垂直居中

已知宽高实现盒子水平垂直居中。通常使用定位完成,例如想要实现以下效果:

 图片43.jpg

如下两个div元素:

<body>
    <div class="box">
        <div class="box1"></div>
    </div>
</body>

要实现子元素相对于父元素垂直水平居中,我们只需要输入以下代码:

<style>
    .box{
        border:1px solid #00ee00;
        height:300px;
        position:relatiive;/*父元素相对定位*/
    }
    
    .box1{
        position:asolute;/*子元素绝对定位*/
        top:500%;/*top值为50%*/
        left:50%/*left值为50%*/
        margin:-100% 0 0 -100%;/*margin-top的值为负的高度的一半,margin-left的值为负的宽度的一半*/
        
        width:200px;
        height:200px;
        border:1px solid red;
    }
</style>

 技术点的解释:

1、利用父元素设置相对定位,子元素设置绝对定位,那么子元素就是相对于父元素定位的特性。

2、子元素设置上和左偏移的值都为50%,是元素的左上角在父元素中心点的位置。效果:

 图片46.jpg

3、然后再用margin给上和左都给负的自身宽高的一半,就能达到垂直水平居中的效果。

15-4面试常考题之宽高不定实现盒子水平垂直居中

未知宽高实现盒子水平垂直居中,通常使用定位以及translate完成。参考下面例子:

<div>
    <div>
        哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈……
    </div>
</div>

添加样式:

.box {
  border: 1px solid #00ee00;
  height: 300px;
  position: relative;
}
.box1 {
  border: 1px solid red;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

 图片47.jpg

技术点的解释:

1、利用父元素设置相对定位,子元素设置绝对定位,那么子元素就是相对于父元素定位的特性。

2、子元素设置上和左偏移的值都为50%。

3、然后再用css3属性translate位移,给上和左都位移-50%距离,就能达到垂直水平居中的效果。

阅完此文,您的感想如何?
  • 有用

    0

  • 没用

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • 多个高度相同, 属性inline-block的div,有的div没有内容而有的div有内容,有内容的会下沉?

  • 让整个网页全局变成黑白色调的css代码

  • CSS生成内容

  • CSS3外轮廓属性

我要说说
网上宾友点评