为什么不使用 Tailwind css 显示 2 列网格?
Why not show 2 colums Grid with Taiwind css?
我有一个包含 Minecraft 游戏插件的页面。按照计划,该页面应该在 2 列中,但由于某种原因,所有内容都在 1 列中,并且在右侧第二列有一个空的 space。我已经尝试修复这个错误一个小时了。
我正在使用 React 和 Tailwind。此页面现在的屏幕截图:
如截图所示,右边的space是空的
这是我的组件的代码:
<ServerContentBlock title={'Plugins'} css={tw`flex flex-wrap`}>
<div css={tw`w-full`}>
<FlashMessageRender byKey={'server:plugins'} css={tw`mb-4`} />
<div css={tw`px-1 py-2`}>
<Formik
onSubmit={submit}
initialValues={{ query: '', size: 10 }}
validationSchema={object().shape({
query: string(),
size: number().required(),
})}
>
<Form>
<div css={tw`flex flex-wrap`}>
<div css={tw`w-full sm:w-8/12 sm:pr-4`}>
<Field
name={'query'}
placeholder={'PVPUtils'}
/>
</div>
<div css={tw`w-full sm:w-4/12`}>
<FormikFieldWrapper name={'size'}>
<FormikField as={Select} name={'size'}>
<option value={10}>10</option>
<option value={25}>25</option>
<option value={50}>50</option>
</FormikField>
</FormikFieldWrapper>
</div>
</div>
</Form>
</Formik>
</div>
</div>
{!data ?
<div css={tw`w-full`}>
<Spinner size={'large'} centered />
</div>
:
<>
{data.plugins.length < 1 ?
<p css={tw`text-center text-sm text-neutral-400 pt-4 pb-4`}>
There are no plugins. Try to search again...
</p>
:
(
<>
{data.plugins.map((item, key) => (
<div tyle="display:grid" css={tw`w-full md:w-6/12 md:pl-2 md:pr-2 pt-4`} key={key}>
<TitledGreyBox title={item.name}>
<div css={tw`px-1 py-2`}>
<div css={tw`flex flex-wrap`}>
<div css={tw`w-auto lg:w-2/12 pr-4`}>
<img css={'width: 48px; height: 48px;'} src={(item.icon.url === '' ? '//static.spigotmc.org/styles/spigot/xenresource/resource_icon.png' : `//www.spigotmc.org/${item.icon.url}`)} />
</div>
<div css={tw`w-auto lg:w-10/12`}>
{item.tag}
</div>
</div>
<span>
<FontAwesomeIcon css={`${item.rating.average >= 1 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
<FontAwesomeIcon css={`${item.rating.average >= 2 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
<FontAwesomeIcon css={`${item.rating.average >= 3 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
<FontAwesomeIcon css={`${item.rating.average >= 4 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
<FontAwesomeIcon css={`${item.rating.average >= 5 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
</span>
{item.file.type !== 'external' &&
<ManageButton pluginId={item.id} installed={item.installed}></ManageButton>
}
<LinkButton target={'_blank'} href={`https://api.spiget.org/v2/resources/${item.id}/go`} css={`float: right; margin-top: .8rem; ${tw`mr-1`}`} type={'button'} color={'primary'} size={'xsmall'}>
<FontAwesomeIcon icon={faExternalLinkAlt}/> View
</LinkButton>
</div>
</TitledGreyBox>
</div>
))}
</>
)
}
</>
}
</ServerContentBlock>
我也尝试添加 grid grid-cols-2 gap-2
,但它没有改变页面,它改变了 TitledGreyBox
,也许我添加错误 space?
哪里会出问题?我将不胜感激,因为我不明白哪里出了问题。
您应该将最外面的 div(您使用显示:“网格”属性 的地方)包裹到您的地图功能中;不在里面,像这样- .
<div css={tw`grid grid-cols-2 gap-2`}>
{
data.plugins.map((item,key)=>(
<TitledGreyBox title={item.name} key={key}>
<div css={tw`px-1 py-2`}>
<div css={tw`flex flex-wrap`}>
<div css={tw`w-auto lg:w-2/12 pr-4`}>
<img css={'width: 48px; height: 48px;'} src={(item.icon.url === '' ? '//static.spigotmc.org/styles/spigot/xenresource/resource_icon.png' : `//www.spigotmc.org/${item.icon.url}`)} />
</div>
<div css={tw`w-auto lg:w-10/12`}>
{item.tag}
</div>
</div>
<span>
<FontAwesomeIcon css={`${item.rating.average >= 1 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
<FontAwesomeIcon css={`${item.rating.average >= 2 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
<FontAwesomeIcon css={`${item.rating.average >= 3 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
<FontAwesomeIcon css={`${item.rating.average >= 4 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
<FontAwesomeIcon css={`${item.rating.average >= 5 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
</span>
{item.file.type !== 'external' &&
<ManageButton pluginId={item.id} installed={item.installed}></ManageButton>
}
<LinkButton target={'_blank'} href={`https://api.spiget.org/v2/resources/${item.id}/go`} css={`float: right; margin-top: .8rem; ${tw`mr-1`}`} type={'button'} color={'primary'} size={'xsmall'}>
<FontAwesomeIcon icon={faExternalLinkAlt}/> View
</LinkButton>
</div>
</TitledGreyBox>
))
}
</div>
我有一个包含 Minecraft 游戏插件的页面。按照计划,该页面应该在 2 列中,但由于某种原因,所有内容都在 1 列中,并且在右侧第二列有一个空的 space。我已经尝试修复这个错误一个小时了。
我正在使用 React 和 Tailwind。此页面现在的屏幕截图:
如截图所示,右边的space是空的
这是我的组件的代码:
<ServerContentBlock title={'Plugins'} css={tw`flex flex-wrap`}>
<div css={tw`w-full`}>
<FlashMessageRender byKey={'server:plugins'} css={tw`mb-4`} />
<div css={tw`px-1 py-2`}>
<Formik
onSubmit={submit}
initialValues={{ query: '', size: 10 }}
validationSchema={object().shape({
query: string(),
size: number().required(),
})}
>
<Form>
<div css={tw`flex flex-wrap`}>
<div css={tw`w-full sm:w-8/12 sm:pr-4`}>
<Field
name={'query'}
placeholder={'PVPUtils'}
/>
</div>
<div css={tw`w-full sm:w-4/12`}>
<FormikFieldWrapper name={'size'}>
<FormikField as={Select} name={'size'}>
<option value={10}>10</option>
<option value={25}>25</option>
<option value={50}>50</option>
</FormikField>
</FormikFieldWrapper>
</div>
</div>
</Form>
</Formik>
</div>
</div>
{!data ?
<div css={tw`w-full`}>
<Spinner size={'large'} centered />
</div>
:
<>
{data.plugins.length < 1 ?
<p css={tw`text-center text-sm text-neutral-400 pt-4 pb-4`}>
There are no plugins. Try to search again...
</p>
:
(
<>
{data.plugins.map((item, key) => (
<div tyle="display:grid" css={tw`w-full md:w-6/12 md:pl-2 md:pr-2 pt-4`} key={key}>
<TitledGreyBox title={item.name}>
<div css={tw`px-1 py-2`}>
<div css={tw`flex flex-wrap`}>
<div css={tw`w-auto lg:w-2/12 pr-4`}>
<img css={'width: 48px; height: 48px;'} src={(item.icon.url === '' ? '//static.spigotmc.org/styles/spigot/xenresource/resource_icon.png' : `//www.spigotmc.org/${item.icon.url}`)} />
</div>
<div css={tw`w-auto lg:w-10/12`}>
{item.tag}
</div>
</div>
<span>
<FontAwesomeIcon css={`${item.rating.average >= 1 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
<FontAwesomeIcon css={`${item.rating.average >= 2 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
<FontAwesomeIcon css={`${item.rating.average >= 3 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
<FontAwesomeIcon css={`${item.rating.average >= 4 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
<FontAwesomeIcon css={`${item.rating.average >= 5 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
</span>
{item.file.type !== 'external' &&
<ManageButton pluginId={item.id} installed={item.installed}></ManageButton>
}
<LinkButton target={'_blank'} href={`https://api.spiget.org/v2/resources/${item.id}/go`} css={`float: right; margin-top: .8rem; ${tw`mr-1`}`} type={'button'} color={'primary'} size={'xsmall'}>
<FontAwesomeIcon icon={faExternalLinkAlt}/> View
</LinkButton>
</div>
</TitledGreyBox>
</div>
))}
</>
)
}
</>
}
</ServerContentBlock>
我也尝试添加 grid grid-cols-2 gap-2
,但它没有改变页面,它改变了 TitledGreyBox
,也许我添加错误 space?
哪里会出问题?我将不胜感激,因为我不明白哪里出了问题。
您应该将最外面的 div(您使用显示:“网格”属性 的地方)包裹到您的地图功能中;不在里面,像这样- .
<div css={tw`grid grid-cols-2 gap-2`}>
{
data.plugins.map((item,key)=>(
<TitledGreyBox title={item.name} key={key}>
<div css={tw`px-1 py-2`}>
<div css={tw`flex flex-wrap`}>
<div css={tw`w-auto lg:w-2/12 pr-4`}>
<img css={'width: 48px; height: 48px;'} src={(item.icon.url === '' ? '//static.spigotmc.org/styles/spigot/xenresource/resource_icon.png' : `//www.spigotmc.org/${item.icon.url}`)} />
</div>
<div css={tw`w-auto lg:w-10/12`}>
{item.tag}
</div>
</div>
<span>
<FontAwesomeIcon css={`${item.rating.average >= 1 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
<FontAwesomeIcon css={`${item.rating.average >= 2 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
<FontAwesomeIcon css={`${item.rating.average >= 3 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
<FontAwesomeIcon css={`${item.rating.average >= 4 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
<FontAwesomeIcon css={`${item.rating.average >= 5 ? 'color: yellow;' : ''} ${tw`mt-4`}`} icon={faStar} />
</span>
{item.file.type !== 'external' &&
<ManageButton pluginId={item.id} installed={item.installed}></ManageButton>
}
<LinkButton target={'_blank'} href={`https://api.spiget.org/v2/resources/${item.id}/go`} css={`float: right; margin-top: .8rem; ${tw`mr-1`}`} type={'button'} color={'primary'} size={'xsmall'}>
<FontAwesomeIcon icon={faExternalLinkAlt}/> View
</LinkButton>
</div>
</TitledGreyBox>
))
}
</div>