【前端】使用样式选择器before和after布局,以及简单的表单输入框布局

简介: 本篇文章来讲解下样式选择器before和after的用法,以及doctype的作用有时候真的需要温故而知新,用了那么多年的前端,对一些知识点灵活运用加点小技巧也是挺有趣的
作者:小5聊基础
简介:一只喜欢全栈方向的程序员,欢迎咨询,尽绵薄之力答疑解惑
编程原则:Write Less Do More

【before选择器】

1)本身含义,向选定的元素之前插入内容

div:before{
    content:'hello world!'
}

image.png

2)关键属性content

使用content 属性来指定要插入的内容

3)大部分浏览器都已经支持before选择器,同时需要在html前声明doctype

【after选择器】

1)本身含义,向选定的元素之后插入内容

.div:before{
    content:'hello'
}
.div:after{
    content:'world!'
}
<div class="div">===</div>

image.png

2)关键属性content<br/>
使用content 属性来指定要插入的内容 <br/>
3)大部分浏览器都已经支持after选择器,同时需要在html前声明doctype

【文本框before和after的运用】

1)有上面基础知识点的了解,就可以开始发挥想象了<br/>

2)在前端项目开发,表单里用的最多的就是文本框前加星好,标识必填选项

3)设置一个div包含一个input布局

4)在div前插入文本值,在div后面插入星号值

5)文本和星号值以及input都属于行内元素,如果设置input占宽度100%,那么就会出现如下效果,当然这不是我们想要的布局效果

image.png

<style>
    .input-div {
        width: 100%;
        height: 40px;
        line-height: 40px;
        border-bottom: 1px solid #ccc;
    }

        .input-div:before {
            content: '姓名:';
            color: #555;
            font-size: 15px;
        }

        .input-div:after {
            content: '*';
            color: #f00;
            font-size: 15px;
        }
</style>
<div style="width:300px;height:500px;background:#fff;padding:10px;margin:0 auto;margin-top:30px;border-radius:10px;box-shadow:0 0 13px #ccc;">

    <div class="input-div">
        <input />
    </div>

</div>

6)可以使用相父级div定位,将文本和星号分别布局在左右两边,并设置input让出一定左右内编辑,这样也不影响重叠输入值,效果如下

image.png

<style>
    .input-div {
        width: 100%;
        height: 40px;
        line-height: 40px;
        border-bottom: 1px solid #ccc;
        position: relative;
    }

        .input-div:before {
            color: #555;
            font-size: 15px;
            position: absolute;
            top: 2px;
            left: 0px;
            padding-left: 10px;
        }

        .input-div:after {
            content: '*';
            color: #f00;
            font-size: 15px;
            position: absolute;
            top: 4px;
            right: 0px;
        }

    .input {
        width: calc(100% - 120px);
        padding: 0 20px 0 80px;
        border: none;
        background: none;
        outline: none;
    }

    .name:before {
        content: '姓名:';
    }

    .nick:before {
        content: '昵称:';
    }

</style>
<div style="width:300px;height:500px;background:#fff;padding:10px;margin:0 auto;margin-top:30px;border-radius:10px;box-shadow:0 0 13px #ccc;">

    <div class="input-div name">
        <input class="input" placeholder="请输入值姓名" />
    </div>

    <div class="input-div nick">
        <input class="input" placeholder="请输入值昵称" />
    </div>

</div>
相关文章
|
5天前
|
前端开发 JavaScript
乾坤qiankun(微前端)样式隔离解决方案--使用插件替换前缀
乾坤qiankun(微前端)样式隔离解决方案--使用插件替换前缀
36 8
|
5天前
|
前端开发 JavaScript
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
37 1
|
16天前
|
前端开发 容器
前端技术分享:利用CSS Grid布局实现响应式设计
【10月更文挑战第1天】前端技术分享:利用CSS Grid布局实现响应式设计
|
16天前
|
JavaScript 前端开发 数据安全/隐私保护
前端技术分享:使用Vue.js构建响应式表单
【10月更文挑战第1天】前端技术分享:使用Vue.js构建响应式表单
|
1月前
|
前端开发 容器
前端基础(十五)_多栏布局(两列自适应布局、圣杯布局---三列布局、双飞翼布局--三列布局、等高布局)
本文介绍了前端开发中的多种自适应布局技术,包括两列自适应布局、圣杯布局(三列布局)、双飞翼布局(三列布局)和等高布局。文章通过代码示例展示了如何使用HTML和CSS实现这些布局,以及如何通过flex布局简化实现过程。
49 2
|
1月前
|
缓存 前端开发 数据可视化
前端基础(七)_表单的基本组成与使用
本文详细介绍了HTML表单的基本组成和使用,包括`<form>`标签、`<input>`表单域、`<select>`下拉列表、`<textarea>`多行文本域等元素。文章解释了表单的提交方式(GET和POST)、表单域的各种类型(文本、密码、单选按钮、复选框等)、提交按钮和重置按钮的作用,以及如何通过`<label>`标签提高表单的可访问性。此外,还讨论了表单元素的属性,如`readonly`、`disabled`、`maxlength`等。
18 1
|
1月前
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
68 1
|
1月前
|
前端开发
【前端web入门第五天】03 清除默认样式与外边距问题【附综合案例产品卡片与新闻列表】
本文档详细介绍了CSS中清除默认样式的方法,包括清除内外边距、列表项目符号等;探讨了外边距的合并与塌陷问题及其解决策略;讲解了行内元素垂直边距的处理技巧;并介绍了圆角与盒子阴影效果的实现方法。最后通过产品卡片和新闻列表两个综合案例,展示了所学知识的实际应用。
34 11
|
1月前
|
弹性计算 前端开发 容器
【前端web入门第六天】02 flex布局
Flex布局是一种现代CSS布局模式,通过给父元素设置`display: flex`,其子元素可自动挤压或拉伸。它包含弹性容器和弹性盒子,主轴默认为水平方向,侧轴为垂直方向。主轴对齐方式由`justify-content`属性控制,侧轴对齐方式包括`align-items`(针对所有子元素)和`align-self`(针对单个子元素)。修改主轴方向使用`flex-direction`属性,`flex`属性用于控制子元素在主轴上的伸缩比例。此外,`flex-wrap`属性允许子元素换行,而`align-content`属性则定义多行对齐方式。
|
1月前
|
前端开发
【前端web入门第五天】01 结构伪类选择器与伪元素选择器
本文介绍了CSS中的结构伪类选择器和伪元素选择器。结构伪类选择器如`nth-child`可根据元素结构关系进行选择,例如将列表中首个`&lt;li&gt;`元素背景设为绿色。伪元素选择器用于创建装饰性内容。