elementUI的现成框架, 缺少样式, el-image样式没有, 已解决

原文链接:https://www.cnblogs.com/zizaiwuyou/p/13936063.html

前端时间要做一个上传并预览图片的功能, 前端用的库是elementUI, 有图片的控件el-image, 但是我预览的时候遇到一个问题

官方的预览效果如下:

 

 但是我的预览效果, 下方的五个按钮, 只有放大缩小, 而且图片是拉抻铺满页面的

我调查发现是由于这个现成框架内的elementUI太老了, 没有对应的样式, 所有我上elementUI的最新文档内把el-image的对应样式复制出来, 如下:

  1 /* elementUI的图片组件样式 */
  2 .el-image-viewer__btn,.el-step__icon-inner {
  3     -webkit-user-select:none;
  4     -moz-user-select:none;
  5     -ms-user-select:none
  6 }
  7 .el-image__error,.el-timeline-item__dot {
  8     display:-webkit-box;
  9     display:-ms-flexbox
 10 }
 11 .el-image__error,.el-image__placeholder {
 12     background:#F5F7FA
 13 }
 14 .el-divider__text.is-left {
 15     left:20px;
 16     -webkit-transform:translateY(-50%);
 17     transform:translateY(-50%)
 18 }
 19 .el-divider__text.is-center {
 20     left:50%;
 21     -webkit-transform:translateX(-50%) translateY(-50%);
 22     transform:translateX(-50%) translateY(-50%)
 23 }
 24 .el-divider__text.is-right {
 25     right:20px;
 26     -webkit-transform:translateY(-50%);
 27     transform:translateY(-50%)
 28 }
 29 .el-image__error,.el-image__inner,.el-image__placeholder {
 30     width:100%;
 31     height:100%
 32 }
 33 .el-image {
 34     position:relative;
 35     display:inline-block;
 36     overflow:hidden
 37 }
 38 .el-image__inner {
 39     vertical-align:top
 40 }
 41 .el-image__inner--center {
 42     position:relative;
 43     top:50%;
 44     left:50%;
 45     -webkit-transform:translate(-50%,-50%);
 46     transform:translate(-50%,-50%);
 47     display:block
 48 }
 49 .el-image__error {
 50     display:flex;
 51     -webkit-box-pack:center;
 52     -ms-flex-pack:center;
 53     justify-content:center;
 54     -webkit-box-align:center;
 55     -ms-flex-align:center;
 56     align-items:center;
 57     font-size:14px;
 58     color:#C0C4CC;
 59     vertical-align:middle
 60 }
 61 .el-image__preview {
 62     cursor:pointer
 63 }
 64 .el-image-viewer__wrapper {
 65     position:fixed;
 66     top:0;
 67     right:0;
 68     bottom:0;
 69     left:0
 70 }
 71 .el-image-viewer__btn {
 72     position:absolute;
 73     z-index:1;
 74     display:-webkit-box;
 75     display:-ms-flexbox;
 76     display:flex;
 77     -webkit-box-align:center;
 78     -ms-flex-align:center;
 79     align-items:center;
 80     -webkit-box-pack:center;
 81     -ms-flex-pack:center;
 82     justify-content:center;
 83     border-radius:50%;
 84     opacity:.8;
 85     cursor:pointer;
 86     -webkit-box-sizing:border-box;
 87     box-sizing:border-box;
 88     user-select:none
 89 }
 90 .el-button,.el-checkbox {
 91     -webkit-user-select:none;
 92     -moz-user-select:none;
 93     -ms-user-select:none
 94 }
 95 .el-image-viewer__close {
 96     top:40px;
 97     right:40px;
 98     width:40px;
 99     height:40px;
100     font-size:40px
101 }
102 .el-image-viewer__canvas {
103     width:100%;
104     height:100%;
105     display:-webkit-box;
106     display:-ms-flexbox;
107     display:flex;
108     -webkit-box-pack:center;
109     -ms-flex-pack:center;
110     justify-content:center;
111     -webkit-box-align:center;
112     -ms-flex-align:center;
113     align-items:center
114 }
115 .el-image-viewer__actions {
116     left:50%;
117     bottom:30px;
118     -webkit-transform:translateX(-50%);
119     transform:translateX(-50%);
120     width:282px;
121     height:44px;
122     padding:0 23px;
123     background-color:#606266;
124     border-color:#fff;
125     border-radius:22px
126 }
127 .el-image-viewer__actions__inner {
128     width:100%;
129     height:100%;
130     text-align:justify;
131     cursor:default;
132     font-size:23px;
133     color:#fff;
134     display:-webkit-box;
135     display:-ms-flexbox;
136     display:flex;
137     -webkit-box-align:center;
138     -ms-flex-align:center;
139     align-items:center;
140     -ms-flex-pack:distribute;
141     justify-content:space-around
142 }
143 .el-image-viewer__next,.el-image-viewer__prev {
144     top:50%;
145     width:44px;
146     height:44px;
147     font-size:24px;
148     color:#fff;
149     background-color:#606266;
150     border-color:#fff
151 }
152 .el-image-viewer__prev {
153     -webkit-transform:translateY(-50%);
154     transform:translateY(-50%);
155     left:40px
156 }
157 .el-image-viewer__next {
158     -webkit-transform:translateY(-50%);
159     transform:translateY(-50%);
160     right:40px;
161     text-indent:2px
162 }
163 .el-image-viewer__mask {
164     position:absolute;
165     width:100%;
166     height:100%;
167     top:0;
168     left:0;
169     opacity:.5;
170     background:#000
171 }
172 .viewer-fade-enter-active {
173     -webkit-animation:viewer-fade-in .3s;
174     animation:viewer-fade-in .3s
175 }
176 .viewer-fade-leave-active {
177     -webkit-animation:viewer-fade-out .3s;
178     animation:viewer-fade-out .3s
179 }
180 @-webkit-keyframes viewer-fade-in {
181     0% {
182     -webkit-transform:translate3d(0,-20px,0);
183     transform:translate3d(0,-20px,0);
184     opacity:0
185 }
186 100% {
187     -webkit-transform:translate3d(0,0,0);
188     transform:translate3d(0,0,0);
189     opacity:1
190 }
191 }@keyframes viewer-fade-in {
192     0% {
193     -webkit-transform:translate3d(0,-20px,0);
194     transform:translate3d(0,-20px,0);
195     opacity:0
196 }
197 100% {
198     -webkit-transform:translate3d(0,0,0);
199     transform:translate3d(0,0,0);
200     opacity:1
201 }
202 }@-webkit-keyframes viewer-fade-out {
203     0% {
204     -webkit-transform:translate3d(0,0,0);
205     transform:translate3d(0,0,0);
206     opacity:1
207 }
208 100% {
209     -webkit-transform:translate3d(0,-20px,0);
210     transform:translate3d(0,-20px,0);
211     opacity:0
212 }
213 }@keyframes viewer-fade-out {
214     0% {
215     -webkit-transform:translate3d(0,0,0);
216     transform:translate3d(0,0,0);
217     opacity:1
218 }
219 100% {
220     -webkit-transform:translate3d(0,-20px,0);
221     transform:translate3d(0,-20px,0);
222     opacity:0
223 }
224 }
225 /* elementUI的图片组件样式 END */

加上样式之后, 预览图片可以正确比例显示了, 但是下方图标只有左侧的三个, 放大缩小和最大化, 就先这样吧, 又不是不能用

 

posted @ 2020-11-06 11:37  CN-无忧  阅读(2286)  评论(0编辑  收藏  举报