[英]Can't center absolute position (Tailwind.css)
背景與問題:
我正在使用 Tailwind CSS 和 Alpine.js 作為一個簡單的搜索欄,它有一個使用absolute
定位的下拉列表
代碼筆在這里: https://codepen.io/jdonline/pen/YzXpbyJ
當我 position 使用relative
下拉菜單時,它的位置完全符合我的要求(但拉伸了我不想要的頁面的 rest)。 但是,當我將其更改為absolute
時,雖然它不再拉伸頁面,但它會將下拉列表擴展得比預期的要寬。
例子:
您可以通過單擊搜索欄右側的下拉箭頭來查看。 您還可以在第 26行將absolute
更改為relative
值時看到差異
問題:
我怎樣才能使用 Tailwind.css、position 下拉菜單,使其具有absolute
的 position,但不會比搜索欄更寬?
僅使用順風,您可以使用以下類
absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2
所以,它會像
<div class="relative">
<div class="absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2"> </div>
<div>
對於 Tailwind,試試這個:
absolute m-auto left-0 right-0
答案很簡單, position:absolute
應該有一個帶有position:relative
的父 div,在你的情況下, relative
是為 body 我認為,你需要給出相對於第 25 行的父 div,
你也可以參考Position CSS
<div x-show.transition.opacity.duration.700ms="open" class="relative" >
<div class="absolute inset-x-0 shadow-xl bg-white w-3/4 md:w-2/5 mx-auto -mt-1 rounded-lg rounded-t-none">
我在 Tailwind Github 個人資料的這個提案中找到了答案。https://github.com/tailwindlabs/tailwindcss/discussions/1531
添加這個實用程序類它完美地工作:
.inset-center {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.