homepage Welcome to WebmasterWorld Guest from 23.22.76.170
register, login, search, subscribe, help, library, PubCon, announcements, recent posts, open posts,
Subscribe to WebmasterWorld
Visit PubCon.com
Home / Forums Index / Code, Content, and Presentation / CSS
Forum Library : Charter : Moderator: open

CSS Forum

    
Scroll without a scrollbar
Rain_Lover




msg:4525659
 8:44 pm on Dec 6, 2012 (gmt 0)

Sample form:

<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
* {font:13px arial; color:white;}
body {background:black;}
label {display:inline-block; width:50px;}
input, textarea {margin:0; border:1px solid red; padding:0; background:green;}
textarea {width:300px; height:100px;}
</style>
</head>
<body>
<form action="#">
<div><label for="entry_0">Name</label><input type="text" id="entry_0"></div>
<div><label for="entry_1">Email</label><input type="text" id="entry_1"></div>
<div><label for="entry_2">URL</label><input type="text" id="entry_2"></div>
<div id="parent"><textarea id="entry_3"></textarea></div>
<div><input type="submit" value="Submit"></div>
</form>
</body>
</html>


I'd like to remove/hide the textarea scrollbar as it doesn't match my form style. I know I can use jQuery plugins to style the scrollbar, but they don't work reliably across different browsers/systems.
To hide the scrollbar I can use textarea {width:300px; height:100px; overflow:hidden;}, but it completely stops Firefox scrolling through mouse and keyboard.
I also tried the following workaround:

#parent {width:284px; height:102px; overflow:hidden;}
textarea {width:300px; height:100px; overflow-x:hidden; overflow-y:scroll;}


It should work accurately if I add some script to calculate the parent division width:

var textareaWidth = document.getElementById('entry_3').scrollWidth;
document.getElementById('parent').style.width = textareaWidth + 'px';


But anyhow the above approach doesn't seem to work in Chrome/Safari:
Demo: [jsfiddle.net ]

Open the above demo in Chrome/Safari >> insert some text into the textarea >> highlight/select a line and drag your mouse to the right and you'll see the scrollbar. Or use the keyboard keys Page Up and Page Down.

Any corrections or other solutions?

 

DrDoc




msg:4526022
 11:24 pm on Dec 7, 2012 (gmt 0)

Any corrections or other solutions?

I know this is not the answer you are looking for, but: Don't mess with people's scroll bars.

Messing with scroll bars and natural behavior results in one of the following problems:
  • Usability issues
  • Browser compatibility issues
  • The design will appear to be an eyesore (study after study shows that people "ignore" the scroll bars due to familiarity, changing their look will therefore have the opposite effect, despite your intentions)

    If the normal scroll bars don't fit your design ... then I am inclined to believe the form elements are way too over-styled ...

  • Global Options:
     top home search open messages active posts  
     

    Home / Forums Index / Code, Content, and Presentation / CSS
    rss feed

    All trademarks and copyrights held by respective owners. Member comments are owned by the poster.
    Terms of Service ¦ Privacy Policy ¦ Report Problem ¦ About
    WebmasterWorld ® and PubCon ® are a Registered Trademarks of Pubcon Inc.
    © Pubcon Inc. 1996-2012 all rights reserved