image
以上图片的显示来自拓展后的markdown。但是故意写错了src导致加载失败的效果。
## <img>
以容器方式
低版本浏览器需要指定 width

.na-image(style="width:300px")
img(alt="示例" src='@/assets/images/example.jpg') ## background-image
以背景方式
必须以某种方式指定宽高
比如指定 height 和 aspect-ratio
也可用 display: flex 这相当于 width: 100%
🤡
.na-image(style={
display: 'flex',
height: '300px',
'background-image': url('@/assets/images/example.png')
})
p.na-paragraph(data-size=1) 🤡 ## mask
背景图或容器都可以使用的遮罩 .na-image>.na-image-mask
.na-image(style={
width: '100px',
height: '100px',
'background-image': url('@/assets/images/example.jpg'),
'border-radius': '50%'
})
.na-image-mask(onclick=function(){
event.target == this || this.parentElement.toggleAttribute('data-iine')
})
svg(data-icon='interactive-button/outline/heart')
svg(data-icon='interactive-button/fill/heart-fill')
style(lang='stylus').
.na-image
svg[data-icon='interactive-button/outline/heart']
svg[data-icon='interactive-button/fill/heart-fill']
font-size 24px
color rgb(var(--magenta-6))
cursor pointer
&[data-iine] svg[data-icon='interactive-button/outline/heart']
&:not([data-iine]) svg[data-icon='interactive-button/fill/heart-fill']
display none ### footer
适用于大尺寸图片( 128像素以上 )的底部遮罩 .na-image>.na-image-footer

.na-image(style={
width: "300px",
height: "300px",
"border-radius": "var(--border-radius-lg)"
})
img(alt="示例" src='@/assets/images/example.jpg')
.na-image-footer
.na-image-footer-content
.na-title(data-size=5)
| 标题标题标题标题标题标题标题标题标题标题标题
.na-paragraph(data-ellipsis=1)
| 描述描述描述描述描述描述描述描述描述描述描述描述
.na-image-footer-action
svg.na-link(
role="button"
aria-label="Open the image in a new tab"
width=24
height=24
onclick=function(){
window.open("@/assets/images/example.jpg")
}
)
svg.na-link(
role="button"
aria-label="Download the image"
width=24
height=24
) 以下全局变量可以修改部分样式
--color-image字体颜色RGB值--color-image-mask遮罩颜色RGB值
局部还定义了 .na-link 的颜色样式 需要一并修改
## upload
配合 .na-input-wrapper>input[type=file].na-input 使用即可
span.na-image.na-input-wrapper(style={
width: '100px',
height: '100px',
})
input.na-input(type='file' disabled)
svg(width=24)
span.na-image.na-input-wrapper(style={
width: '100px',
height: '100px',
} data-primary)
input.na-input#uploader(
type='file'
title='点击上传图片'
onchange=function(e){
const reader = new FileReader();
reader.readAsDataURL(e.target.files[0]);
reader.onload = () => {
this.parentElement.style.backgroundImage = `url(${reader.result})`;
};
}
)
svg(width=24) .na-input-wrapper 也可以覆写局部变量 --color-input*-wrapper 修改颜色RGB值