Ok I think this time I got it. Here : 
https://Telumire.github.io/TiddlyTweaks/index.html#:%5B%5BCombobox%5D%5D



Le jeudi 4 novembre 2021 à 23:17:51 UTC+1, Télumire a écrit :

>
> @Eric Shulman my bad, I should have tested it a bit more. Thanks for 
> pointing this out ! @Mat, this is because the select element is OS 
> dependent according to this stack overflow answer : 
> https://stackoverflow.com/a/1895485/11549574
>
> This one can be used properly inline (with a text after and before) and 
> use a pseudo element as a select button (I left it as a red square but it's 
> easy to customize), but there is still an issue with vertical align.. I'm 
> still sharing it just in case, if I find something better I'll post it  :
>
> <$vars
>
> height="20px"
>
> >
> <style>
> .combobox{
> position: relative;
> display: inline-block;
> width: 150px;
> height:<<height>>;
> background:red;
> margin-right:20px;
> }
>
> .combobox .select-btn{
> width:100%;
> cursor:pointer;
> opacity:0;
> pointer-event:all;
> }
>
> .combobox input{
> top:0;
> position:absolute;
> width:100%;
> }
>
> .combobox .drodown-btn{
> width:calc(<<height>> + 100%);
> top:0;
> position:absolute;
> cursor:pointer;
> }
>
> .combobox .drodown-btn:after{
> display:block;
> content:"";
> width:calc(<<height>> + 4px);
> position:absolute;
> inset:0 0 0 auto;
> background:red;
> pointer-events: none;
> }
> </style>
>
>
> BEFORE<$edit-text field=selection placeholder="type or select"/>AFTER
>
> before
> <span class="combobox">
> <span class="drodown-btn">
> <$select field=selection class="select-btn" >
> <option value='cities'>A Tale of Two Cities</option>
> <option value='science'>A New Kind of Science</option>
> <option value='dice'>The Dice Man</option>
> </$select>
> </span>
> <$edit-text field=selection placeholder="type or select"/>
> </span>
> after
>
>
> Le jeudi 4 novembre 2021 à 22:48:23 UTC+1, Mat a écrit :
>
>> @Télumire, I appreciate your effort! @Eric, thank you for your shrewd 
>> analysis!
>>
>> Does anyone know why it is barely possible to manipulate this dropdown 
>> though? I do get the following to work, so the options *are* targettable:
>>
>> .select-btn option {background:red}
>>
>> ...but attempting to e.g position absolute, margin-left, or some such 
>> fails. It is as if they are immune to most styling.
>>
>> @anyone - is this because of the SelectWidget implementation, or is it 
>> the underlying html select / option tags? Surely people will want to style 
>> these? If it indeed is the underlying html tags, then is it at all possible 
>> to do something about it in the SelectWidget, hypothetically?
>>
>> Thanx!
>>
>> <:-)
>>
>>
>>
>> On Thursday, November 4, 2021 at 9:42:29 PM UTC+1 Eric Shulman wrote:
>>
>>> On Thursday, November 4, 2021 at 12:31:14 PM UTC-7 Télumire wrote:
>>>
>>>> Here's the code to push the dropdown in the proper place :
>>>>
>>>
>>> There are layout problems with this solution.  To see the issues,
>>> try putting "before" and "after" text surrounding the "combobox" span:
>>>  
>>>
>>>> *BEFORE*<span class="combobox">
>>>
>>>
>>>> <$select field=selection class="select-btn" >
>>>> <option value='cities'>A Tale of Two Cities</option>
>>>> <option value='science'>A New Kind of Science</option>
>>>> <option value='dice'>The Dice Man</option>
>>>> </$select>
>>>> <$edit-text field=selection placeholder="type or select"/>
>>>>
>>> </span>*AFTER*
>>>
>>>
>>> and compare this with the result of showing only an $edit-text widget:
>>>
>>> *BEFORE*<$edit-text field=selection placeholder="type or select"/>
>>> *AFTER*
>>>
>>> For the simple inline $edit-text widget, the BEFORE/AFTER text appears 
>>> as you would expect:
>>> immediately preceding/following the input element and vertically aligned 
>>> with the middle of the text
>>>
>>> However, note the placement and vertical alignment of the "combobox" 
>>> elements:
>>> The edit input/select elements appear vertically aligned *below the 
>>> baseline *of the surrounding BEFORE/AFTER text,
>>> and the AFTER text is immediately following the input element, rather 
>>> than following the select element.
>>>
>>> The CSS you provided also assumes that the width of the select element's 
>>> downarrow button will always
>>> a fixed width of "20px", which may not be the case depending upon which 
>>> browser you are using.
>>>
>>> Also, there is also a slight difference in the height of the select 
>>> element vs the edit element (testing with Chrome),
>>> so that the bottom border of the select element, which is behind the 
>>> edit element, is visible, creating the appearance
>>> of a double-thick bottom border on the edit element
>>>
>>> -e
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tiddlywiki+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/c3fe7c16-affd-428e-8ccb-f72d55f0bc50n%40googlegroups.com.

Attachment: Combobox.tid
Description: Binary data

Reply via email to