CSS 实现:图片+文字的布局(综合)
☊【实现要求】:图片+文字+居中

√【实现】:
① img + 文字
<div class="demo2-1">
<img src="" alt="logo">标题1111
</div>
普通布局
.demo2-1 {
// 文字可用demo1中的方案一布局;
line-height: $px;
text-align: center;
img {
width: $px; // 设置图片宽和高
height: $px;
position:relative;
top: $px; // 相对于父元素,text-align: center 只会把文字居中,图片还是置顶
right: $px; // 相对于文字靠左偏移(其实relative是相对于自身本来的位置进行定位)
}
}
② span + 文字
<div class="demo2-2">
<span></span>标题2222
</div>
flex 布局
*align-items 会把图片也垂直居中,而 line-height 只会把文字居中
.demo2-2 {
// 文字可用demo1中的方案二布局;
display: flex;
display: -webkit-flex;
justify-content: center;
align-items: center;
span {
display: inline-block; // 使span为块级元素,才可以设置宽和高
width: $px;
height: $px;
background: url();
background-size: 100% 100%; // 图片填充整个span,同 background-size: cover;
margin-right: 5px; // 距右边文字距离
}
}
③ 文字包含在 span 中
<div class="demo2-3">
<span>标题3333</span>
</div>
普通布局
.demo2-3 {
// 文字可用demo1中的方案一布局;
line-height: $px;
text-align: center;
span {
display: inline-block; // 设置为块级元素
background: url() no-repeat; // no-repeat: 图片全部填充
background-size: 30px 30px; // 设置背景图片的大小
background-position: center left; // 第一个参数垂直布局,第二个参数水平布局
padding-left: 35px; // 距最左边距离,而非距图片距离
}
}
☋【实现要求】:左右箭头+文字

√【实现】:
<div class="demo2-4">
标题3333
</div>
箭头可以用 ::after 和 ::before 伪类实现
相对于父元素绝对定位
.demo2-4 {
// 文字可用demo1中的方案一布局;
text-align: center;
line-height: $px;
position: relative; // 定位父元素
&:after {
content: ""; // 内容为空
display: inline-block; // 设置为块级元素,从而设定宽和高
width: $px;
height: $px;
border-right: 1px solid #00f;
border-bottom: 1px solid #00f;
transform: rotate(-45deg);
position: absolute; // 相对父元素绝对定位
top: $px;
right: $px;
}
}
☊【实现要求】:左边多行文字(宽度自适应),右边图标(固定宽度)

<div class="demo4-1">
<div class="col-left">
<h1>大标题</h1>
<h2>小标题</h2>
</div>
<div class="col-right"></div>
</div>
√【实现】:
(移动端,flex 布局):
.demo4-1 {
display: flex;
display: -webkit-flex;
.col-left { // 宽度自适应
flex: 1;
-webkit-flex: 1;
}
.col-right {
width: 100px; // 设定宽度
position: relative; // 定位父元素
&:after {
position: absolute; // 相对于父元素绝对定位
content: "";
display: inline-block;
width: 50px;
height: 50px;
border-right: 2px solid #0f0;
border-bottom: 2px solid #0f0;
transform: rotate(-45deg);
top: 40px;
right: 40px;
}
}
}
☋【实现要求】:左边图片(宽度固定),中间多行文字(宽度自适应),右边图标(宽度固定)

<div class="demo4-2">
<div class="col-left">
</div>
<div class="col-middle">
<h1>大标题</h1>
<h2>小标题</h2>
</div>
<div class="col-right">
</div>
</div>
√【实现】:
(移动端,flex 布局):
.demo4-2 {
display: flex;
display: -webkit-flex;
.col-left {
width: 200px; // 设定宽度
background: url(../img/logo.png) no-repeat;
background-size: 100px 100px;
background-position: center center; // 定位图片位置
}
.col-middle {
flex: 1;
-webkit-flex: 1;
}
.col-right {
width: 100px; // 设定宽度
position: relative; // 定位父元素
&:after {
position: absolute; // 相对于父元素绝对定位
content: "";
display: inline-block;
width: 50px;
height: 50px;
border-right: 2px solid #0f0;
border-bottom: 2px solid #0f0;
transform: rotate(-45deg);
top: 40px;
right: 40px;
}
}
}
CSS 实现:图片+文字的布局(综合)的更多相关文章
- css 单行图片文字水平垂直居中汇总
(1) 水平居中 a. 行内元素水平居中 因为img是行内元素(行内块级元素也一样)父级元素设置text-align:center即可,例如: <div style="width: 6 ...
- html+css实现图片的层布局
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 精通CSS+DIV网页样式与布局--图片效果
提到图片效果,小伙伴们可能会想到美图秀秀,ps等,这些软件都是款非常不错的照片处理软件,包括常用的:黑白,增强,高斯,高对比,夜视,老照片和铅笔画等等.不管你是否是专业的 照片拍摄人员,我们都可以通过 ...
- css图片+文字浮动(文字包围效果)
css图片+文字浮动(文字包围效果): 在网页中,我们有时想实现这个效果,但是 <div id="test"> <img src="gdimages/0 ...
- css图片文字
1.浏览器是把 html 和 css 一起下载并执行的,计算机里把两件事情同时做 异步加载.计算机中的同步异步和我们生活中的正好是相反的. 补充: 同步,是所有的操作都做完,才返回给用户结果.即写完 ...
- css 图片文字垂直居中
先来看张图片 相信很多css新手遇到过这种问题,就是当图片和文本显示在一行的时候,效果很奇葩,文字和图片没法对齐, 这时我们需要做的是: 1,先给块级元素设置 display: inline-bloc ...
- CSS控制图片和文字在同一行显示且对齐的3种方法
CSS控制图片和文字在同一行显示且对齐的3种方法 在 HTML 代码中,有时会需要在文字旁边加上一个图标. 默认情况,是图片置顶对齐,文字置底对齐,所以通常图片高,文字低,不能水平居中对齐. 常见方法 ...
- iOS UIButton 图片文字上下垂直布局 解决方案
实现如图所示效果: 这是一个UIButton,需要改变image和title相对位置. 解决如下: //设置文字偏移:向下偏移图片高度+向左偏移图片宽度 (偏移量是根据[图片]大小来的,这点是关键)b ...
- CSS+DIV网页样式与布局:第二章:CSS的基本语法
第二章:CSS的基本语法 一 CSS选择器(所有的HTML语言中的标记都是通过不同的css选择器进行控制的).用户只需要 通过选择器对不同的HTML标签进行控制,并赋予各种样式声明,即可实现各种效果. ...
随机推荐
- jQuery给同一个元素两个点击事件
$(".course-form .course-start img").each(function(i) { $(this).toggle(function(){ $(this). ...
- MySql中添加用户/删除用户
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...
- 知名杀毒软件Mcafee(麦咖啡)个人版 资源汇总兼科普(来自卡饭)
虽然早已不是用咖啡了,但我也实时关注的咖啡的一举一动,潜水看帖日久,发现小白众多,好多有价值的帖子淹没于帖海当中,甚是惋惜. 我有如下建议 1.咖啡区管理层,能否吧一些优秀的资源教程 ...
- C# SQLiteDataReader获得数据库指定字段的值
获得数据库指定字段的值,赋给本地变量 (1)如下,获得userinfo数据表里的字段"userid"."orgid", string userid=" ...
- windows下svn自动更新
配置hooks下post-commit.bat文件,文件内容如下 @echo offSET REPOS=%1SET REV=%2SET DIR=%REPOS%/hooksSET PATH=%PATH% ...
- sourcetree使用问题汇总
1.可优先查阅博文<git 用户手册 1.5.3及后续版本使用>: 2.问题1 Cloning into 'folder'... warning: templates not found ...
- 微软.NET Framework 4.5.2 RTM正式版
今天,微软.NET开发团队发布.NET Framework 4.5.2 RTM正式版.新版框架继续高度兼容现有的.NET Framework 4.4.5.4.5.1等版本,该版本框架与旧版的.NET ...
- 使用goldengate交付指定时间前的数据
在数据同步过程中,客户担心在源端误操作,比如truncate, drop, delete all等,在目标端也会立即同步,而无法挽救损失:因此,客户希望是目标端的数据比源端要慢一个时间点. 解决方案: ...
- 【iOS开发】企业版证书($299)In-House方式发布指南 (转)
一.明确几个概念 1.企业版IDP:即iOS Development Enterprise Program.注意是$299/Year那种,并不是$99/Year的那种. 2.In House:是只企业 ...
- ASP.NET是如何在IIS下工作的[转]
ASP.NET与IIS是紧密联系的,由于IIS6.0与IIS7.0的工作方式的不同,导致ASP.NET的工作原理也发生了相应的变化. IIS6(IIS7的经典模式)与IIS7的集成模式的不同 IIS6 ...